-
属性操作查看全部
-
用花括号创建对象字面量来创建对象查看全部
-
对象构造: 除了本身被赋予的值之外,对象还有几个隐藏标签: proto:对象的对象属性prototype上的赋值,一般是该对象种类的不变属性或方法,例如 new一个猫,猫的颜色和年龄可以作为一般属性,而猫叫,猫吃鱼这种不常变动的属性可以在prototype上赋值,可以节省内存。 class:对象的种类 extensible:是否允许该对象继续增加新的属性 另外对象的值(如 x=1),也有对应的属性或方法,提供一些访问权限的控制 writable:是否可写 enumerable:是否能被删除 configurable:是否能够枚举 value:值 get/set:获取/设置属性查看全部
-
1、属性无序 2、属性包括一个字符串类型的key,和一个value,如key不为字符串,则会强制转为字符串。查看全部
-
严格模式下的区别很多查看全部
-
use strict 可以写在整个函数的的里面,也可以写在整个函数的的最上面,也可以在上面加点东西啥的 1、严格模式,不允许用 with 语句。否则会报syntax error语法错误 2、一般可以隐式创建全局变量,直接进行赋值,但是严格模式会报错。 3 普通模式下:arguments[0..n]为函数fun(a,b,c)的参数的数组表现形式,严格模式下:arguments对象变为参数静态副本,即只能获得实际参数的值不能改变实际参数。ps:若得到的参数为对象,则仍可以借助arguments.x对对象的属性进行修改并产生影响。 4 在严格模式下,delete不可配置属性:Object.defineProperty(obj,'a',{configurable:false}});不能使用,会报错。 5 对象字面量属性名重复中,一般以最后一个属性为准,但在严格模式下会报错 6 严格模式下不能使用八进制字面量。 7 eval,arguments变为关键字,不可作为变量名和函数名。 8 eval独立作用域查看全部
-
function fd(){}函数声明,会被预先处理,可以在其前面调用该函数 而函数表达式就不可以查看全部
-
block语句就是块语句 js没有块级作用域,但是有函数作用域 特别要注意在函数中,如果写成var a=b=1; 其实b还是一个全局变量,在函数外还是可以访问的 要改成var a=1,b=1;查看全部
-
没有块级作用域查看全部
-
类型检测小结查看全部
-
Object.prototype.toString.apply()来判断,IE6、7、8兼容有问题哦查看全部
-
对于判断对象类型,更常用instanceof,instanceof是基于原型链去判断的操作符 obj instanceof Object,若左边操作数不是对象,是基本数据类型,则直接返回false 若左边操作数不是函数对象或者说函数构造器,则会抛出type error异常 原理是:instanceof会判断左边对象的原型链上是否有右边这个构造函数的prototype属性,有则返回true 说明左边的对象是右边类的实例 instanceof 不同window之间会不兼容,需慎重使用,因为空对象肯空对象不会相等,只是引用去判断对象。查看全部
-
typeof 用于判断基本数据类型和函数,对象比较方便 typeof 常用 NaN是一个number类型 typeof NULL是object类型,为了兼容,否则好多网站访问不了 typeof 数组 返回对象查看全部
-
类型检测查看全部
-
当尝试以对象的方式使用一个String基本类型的时候,比如访问这个字符串的length属性或者增加一些属性,javascript会智能地把这个基本类型转换成一个包装类型对象。当设置完成后,这个临时对象会被销毁掉。所以再次访问该属性,就是undefined。Number Boolean 等同理。查看全部
举报
0/150
提交
取消