javascipt入门
一、javascript简介
javascript:(基于对象的编程语言:内部很多对象,我们只需要使用即可,几乎不需要自己创建对象)
ECMAScript
DOM
BOM
存放位置:
建议代码放到html中body的最后位置
引入方式:
1、 <script> 这里直接写代码 </script>
2、写到文件中通过 <script src="js-01.js"></script> 的方式引入
二、语法
声明变量:
var x = 1;var y = 2;
var x= 1,y=2; 不使用var 申明变量就是一个全局的变量 只能是字母,下划线,$符 三选一开头 ,区分大小写 建议使用命名规范: 数据类型小写简写+驼峰写法
eg: var sName="fxh"; var iNum=100; console.log(x) # 输出变量。 浏览器--> 检查--> Console
document.write(x) # 页面上输出变量
标识代码块:{ }
{
var x = 1;var y = 2;
var x= 1,y=2;
}
注释:
// var sName="注释"
/* document.write("这是注释") */
函数:
<script>
function sayHello() {
var sHelloStr="你好";
document.write(sHelloStr);
}
sayHello();
</script>
三、数据类型
堆内存:
基本数据类型:
Number,string 。。。
栈内存:
引用数据类型:
object
堆内存的地址指向栈内存的对象
五种基本数据类型:
1、Number
整数,浮点数
NaN 当字符串转换为数字失败时就是NaN
NaN出现在表达式中一顶结构为false,除了 !=
2、String
都是unicode
3、Booolean
true , false
4、Null
null占用一个对象的位置
5、Undefined
声明了变量但是未为其赋值
typeof() #查看类型
四、数据类型转换
parseInt("3.14b") #3.14
parseInt("a3.14b") #NaN 当字符串转换为数字失败时就是NaN
五、运算符
自加自减:
x++ # x=x+1 先赋值后运算
++x # x=x+1 先运算后赋值
一元加减法:
var a="3"
b=+a
document.write(b);
document.write(typeof(b)); #字符串转换为数字
逻辑运算符:
== != > <
&& || !
and or
& 按位与
赋值运算符:
和python的一样
六、控制语句
if语句:
if (表达式){
语句1;
语句2;
}else if ( 表达式 ) {
语句;
}else {
语句;
}
switch语句:
switch(n) {
case 1:
xx;
break;
case 2:
yy;
break;
default:
xy;
}
for 循环:
#for ( 初始化,条件,递增)
var a = [1,"haha",true]
for ( var i in a) {
console.log(i);
console.log(a[i]);
}
# 和python中不一样,i变成了下标
for(var i=1;i<10;i=i+1){
console.log(i);
}
while循环:
while (条件) {
语句1;
语句2;
}
异常处理:
try(){
//
}
catch(e){
//
}
finally{
// 最后无论如何也会直线
}
七、函数
function func1(){
alert(123);
return 100
}
var ret=func1()
alert(ret)
var func2()= new Function("参数1","参数2","函数体")
函数的arguments对象:
var ret=0
function add(){
console.log(arguments.length);
console.log(arguments) ; # arguments 是一个传入参数的列表
for (var i in arguments){
ret += arguments[i]
}
return ret;
}
alert(add(1,2,3))
javascipt入门的更多相关文章
- WebGL开发入门
Getting started with WebGL development WebGL开发入门 What is Unity WebGL? 什么是Unity WebGL? The WebGL b ...
- React Native新手入门
前言 React Native是最近非常火的一个话题,想要学习如何使用它,首先就要知道它是什么. 好像面对一个新手全面介绍它的文章还不多,我就归纳一下所有的资料和刚入门的小伙伴一起来认识它~ 将从以下 ...
- [转帖]H5 手机 App 开发入门:技术篇
H5 手机 App 开发入门:技术篇 http://www.ruanyifeng.com/blog/2019/12/mobile-app-technology-stack.html 阮一峰老师的文 ...
- Node js 入门指南(1)
目录 Node Js 定义 特点 Node使用方式 Tip: 使用导出文件的注意事项 Node 内置模块 http 模块 定义 使用方法 fs 模块 定义 使用方法 读取文件方式 同步读取 异步读取 ...
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数
上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...
- Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数
上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...
随机推荐
- 关于flex布局中的兼容性问题
这几天在做项目中用到了flex布局,但是在测试的过程中发现他的兼容性实在是太差了,仅仅用到水平和垂直居中的样式,没想到兼容性代码就写了好几行. display:flex; display:-webki ...
- 用Latex做介绍自己和团队科研的网页
最近实验室师妹用网上的一些模板改了改做了几个网页.感觉还可以.但是实际上总觉得好像和韩家炜.周志华他们的页面差点什么. 最近找论文时发现奥地利的hornik老先生页面居然latex做的,然后找到了下面 ...
- 七牛上图片总是net::ERR_NAME_NOT_RESOLVED
七牛上图片总是net::ERR_NAME_NOT_RESOLVED >> php这个答案描述的挺清楚的:http://www.goodpm.net/postreply/php/101000 ...
- golang下使用ini配置文件(widuu/goini)
在“widuu/goini”基础上进行了修改,增加了其他数据类型配置值(string.int.int32.int64.[]int.[]string)的支持. 使用方法: ConfigCentor := ...
- MFC框架下Opengl窗口闪屏问题解决方案
转自https://blog.csdn.net/niusiqiang/article/details/43116153 虽然启用了双缓冲,但是仍然会出闪屏的情况,这是由于OpenGL自己有刷新背景的函 ...
- php基础-------preg_replace()与preg_replace_callback()
1.preg_replace() 执行一个正则表达式的搜索和替换. 语法: mixed preg_replace ( mixed $pattern , mixed $replacement , mix ...
- iOS原生数据存储策略
一 @interface NSCache : NSObject Description A mutable collection you use to temporarily store transi ...
- adb屏幕截屏
import subprocess #执行结果使用管道输出,对于参数是字符串,需要指定shell=Trueprocess = subprocess.Popen('adb shell screencap ...
- 解决MYSQL的错误:Got a packet bigger than 'max_allowed_packet' bytes
Mysql 5.1开始遇到的信息包过大问题,当用客户端导入数据的时候,遇到错误代码: 1153 - Got apacket bigger than 'max_allowed_packet' bytes ...
- SpringMVC上传文件(图片)并保存到本地
SpringMVC上传文件(图片)并保存到本地 小记一波~ 基本的MVC配置就不展示了,这里给出核心代码 在spring-mvc的配置文件中写入如下配置 <bean id="multi ...