防止赋空值
var jier = prefferdObject || backupObject;
如果prefferdObject是null,则后者值赋给jier,否则前者赋值。
//利用逻辑或的特性防止赋null 或undefined
比较值
var a = "23" < "3";//true比较的是字符串字符编码,“2”的字符编码是50,“3”的是51
var a = "23" < 3;//false
传参数
function sum(){
return arguments[0] + arguments[1] + arguments[2];
}
var j = sum(1,2,3);//6
JS函数参数通过包含0个或多个值的数组形式传递的,所以不在乎参数类型和数量,可通过arguments来访问参数。但不能超过传参数量,如sum(1,2)即少传一个参数会报NaN
只能给引用类型动态的添加属性
var jj = new Object();
jj.name = "Mike";
alert(jj.name);
复制变量值
基本类型复制的是值,引用类型复制的是指向同一个对象的指针。
var a = 3;
var b = a;//a值改变b值不受影响
var a = new Object();
a.name = "Miek";
var b = a;
a.name = "Jsjio";//此时b.name值也改变
检测数据类型
基本类型 typeof "ji";
判断引用类型是哪一种引用类型 person instanceof Object; animals instanceof Array;//person是Object吗。返回true/false
变量访问
if(true){// if 语句中的变量声明会将变量添加到当前的执行环境(在这里是全局环境)中
var ji = "abc";
} alert(ji); //正常执行
function add(num1,num2){
var sum = num1 + num2;//未用var声明将成为全局变量,声明了将变量添加到当前环境中,这里最接近的是函数环境
return sum;
}
add(3,2);
alert(sum); // 会报错
网友评论