变量
1,JS的变量
-
var uname="latiy" function fun3(){ alert(uname); var uname="GGBo"; alert(uname); } fun3(); // 结果:undefined,GGBo function fun4(){ alert(uname); uname="GGB"; alert(uname); } fun4();//结果:latiy,GGBo
由于变量声明提升的特性导致的 .
JavaScript会在函数执行之前先对函数内部的变量进行声明提升。也就是说,
函数内部的所有变量声明都会被提升到函数的顶部,但是变量的赋值操作不会被提升。
2,变量混合运算
-
var num="123"+2-"1"; alert(num); // 输出结果:"1231"
加号操作符:当其中一个操作数是字符串类型时,它会执行字符串拼接而不是数字相加。
减号操作符:会将字符串类型的操作数转换为数字类型进行运算。
且加号优先级大于减号。
数据类型
1,数组的创建方式
- 方式1:通过创建Array使用,通过push进行赋值
var arr = new Array();//创建数组对象 arr.push("a") //添加元素 arr.push("b") arr.push("c") console.log(arr)
- 方式2:通过字面量的方式,声明的时候使用[]进行赋值
var arrs = ['a','b','c','e','f',10] console.log(arrs)
运算符
1,前置递增/递减运算符 和 后置递增或递减运算符
- 前置运算:
var a=5; var b=++a; alert(a); //6 alert(b);//6 // ++num/--num :它们会先将变量自身的值加1或减1,然后返回修改后的值。
- 后置运算:
var c=5; var d=a++; alert(c); //5 alert(d);//6 //num++/num--:它们会先返回变量的当前值,然后再将变量自身的值加1或减1。
2,== 和 === 区别
- == 只比较值是否相同,不会比较类型
- === 不但要比较值,还需要比较类型
函数
1,函数创建方式
-
function fun1(){ alert("显示声明函数") } var fun2=function(){ alert("匿名声明函数") }
作用域
1,对象操作
- 方式1:直接使用{}进行创建
//方式1:直接创建对象var obj = { name:"小明", age:15, say:function(){ alert("我叫"+this.name+"今年"+this.age+"岁") } }
- 方式2:通过new出对象进行创建
//方式2:通过new出对象的方式创建var obj2 = new Object(); obj2.name ="小花" obj2.age =12; obj2.say=function(){ alert("我叫"+this.name+"今年"+this.age+"岁") }
- 使用function进行类的定义,然后new出来
-
//方式3:通过function定义类,然后创建对象 function Student(){ this.name = "小红"; this.age = 38; this.say=function(){ alert("我叫"+this.name+"今年"+this.age+"岁") } } var stu = new Student(); stu.say(); //定义带参数的构造方法 function Student(name,age){ this.name = name; this.age = age; this.say=function(){ alert("我叫"+this.name+"今年"+this.age+"岁") } } var stu = new Student("黎明",21); stu.say();
-