verible
如果一个变量没有使用var
关键字进行声明的话, 那么这个变量就是全局变量,在ES6中,添加了use Strict来解决这一个痛点,只需要在代码中加入use strict
`use strict`
i = 1; //这样会报错
Array
javaScript中Array可以包含任意的数据类型
var arr = [1, 2, "hello"];
如果直接给Array的length赋上一个新的值将会导致Array大小的变化
var arr = [1, 2, 3];
arr.length = 2;
console.log(arr); //arr变成了 [1, 2]
arr.length = 3;
console.log(arr); //arr变成了[1, 2, undefined];
在js中,如果通过索引进行赋值时候,索引超过了范围,同样会引起Array大小的变化
var arr = [1, 2, 3, 4];
arr[5] = 6;
console.log(a); //arr变成了[1, 2, 3, 4, undefined, 6]
object
如果一个对象的属性名称包含了特殊字符,我们需要使用单引号给它包裹起来, 同时访问的时候, 我们也需要通过['xxx']
来访问。
var xiaohong = {
name: "小红",
'middle-school': "no.1 meddile school"
};
console.log(xiaohong['middle-school']); //输出no.1 middle school
如果访问对象中一个不存在的属性, 将会出现undefined
var xiaoming = {
name: "小明"
}; //注意这个分号, 不要忽略
console.log(xiaoming.age); //出现undefined
我们使用in
检查对象中是否存在某个属性, 可能这个属性是该对象继承来的
'toString' in xiaoming; //true
这是因为
toString
是定义在object对象中的,而所有的对象最终都会在原型链上指向object,所以xiaoming也是拥有toString属性
如果要判断一个属性是否是当前对象的原生的,我们可以使用hasOwnProperty()
方法
var xiaoming = {
name: "小明"
};
console.log(xiaoming.hasOwnProperty('name')); //true
console.log(xiaoming.hasOwnProperty('toString')); //false
标签:xiaoming,console,log,JavaScript,arr,var,新手,事项,Array
From: https://www.cnblogs.com/zhengel/p/16749754.html