-
类型检测小结查看全部
-
1、修改构造函数的 prototype 属性时会影响已创建的的实例; 2、但如果改变构造函数的 prototype 即不会影响已创建的实例 (估计是因为创建实例时实例的__proto__的指向已认定的“当时”构建函数的ptototype); 3、而新创建的实例就会受新 prototype 的影响;查看全部
-
javascript的隐式转换查看全部
-
红框处的 Student.prototype = Object.create(Person.prototype) 改变 Student.prototype 原型的指向。查看全部
-
原型链: 1、函数的 prototype 的原型默认指向 Object.prototype,如 Person.prototype; 2、通 Student.protoype = Object.create(Person.prototype) 令到 Student.prototype 的原型指向 Person.prototype。查看全部
-
对象实例的原型通常都是指向构造函数的prototype对象属性查看全部
-
typeof查看全部
-
包装对象,就是当基本类型以对象的方式去使用时,JavaScript会转换成对应的包装类型,相当于new一个对象,内容和基本类型的内容一样,然后当操作完成再去访问的时候,这个临时对象会被销毁,然后再访问时候就是undefined。number,string,boolean都有对应的包装类型。 (1)number,string,boolean都有对应的包装类型 eg:var str="string";//字符串类型 var strObj=new String("string")//对象类型,String类型对应的包装类 str不是对象,是基本类型不应该有属性和方法 当把一个基本类型尝试以对象的方式去使用时,比如访问length属性或者增加一些属性,js会把基本类型转换为对应的包装类型对象,相当于new了一个string,当访问结束后这个临时对象会被 销毁 掉. 例如:给变量增加属性,例如:a.t=3 t为一个新增属性;但当你再重新访问该属性时,会返回undefined,原因如上.查看全部
-
1、减号可理解为减法运算,加号可理解为字符串拼接; 2、变量转化为数字 num-0 变量转换为字符串num+'' 3、等于==和严格等于===: 等于==: "1.23"==1.23 //是正确的,javascript会尝试将字符串变成数字。 0==false //也是正确的,javascript也会尝试进行转换。 new Object()==new Object()//.. [1,2]==[1,2] 严格等于===: 类型不同的话,也是不等的。//如:"1.23"==="1.23"是false 对象的比较也是不相等的。//如:new Object===new Object 是false 而, null===null/undefined==undefined是正确的 值得注意的是,NaN===NaN是false,NaN无论跟谁(哪怕自己)比较都是不等的。查看全部
-
1、typeof适用于函数对象和基本类型的判断 typeof(undefined) 返回undefined typeof NaN 返回number typeof null 返回object 2、 4、类型检测 方法: (1).typeof 返回字符串,适合函数(function)对象和基本类型的判断监测,遇到null失效 typeof 100 "number"//返回字符串number .. true "boolean" ..function "function" .. (undefined) "undefined" .. new Object() "object" .. [1,2] "object"//没有经过特殊处理 .. NaN "number" .. null "object"//兼容问题 (2).instanceof,适用于自定义对象,也可以监测原生对象 obj .. Object//基于原型链 左操作数期望是对象,右操作数必须是函数对象,否则会抛出type error 会判断左操作数在原型链上是否有右边构造函数的prototype属性 任何一个构造函数都有一个prototype属性 不同window或iframe间的对象类型检测不能使用instanceof (3).Object.prototype.toString,遇到null,undefiend失效 Object.prototype.toString.apply([]);==="[object Array]"//判断数组 (4).constructor 任何一个对象都有一个constructor属性,指向构造这个对象的构造器或者构造函数,可以被改写 (5).duck type 比如不知道这个是不是数组,可以判断他的特征:length数字,是否有joying,push等等查看全部
-
typeof查看全部
-
typeof null===object是由于历史的原因查看全部
-
booleam类型与number类型比较是把布尔类型转换成数字类型,这点要注意。查看全部
-
巧用加与减运算符,实现number类型与string类型的转换。查看全部
-
同一对象在不同window和iframe下是不同对象,在使用instanceof时会返回false查看全部
举报
0/150
提交
取消