-
属性标签查看全部
-
包装对象: string boolean number var str="string"; var strObj=new String(); str是string(基本类型),本身是没有方法的。 当尝试把基本类型的str当做对象一样访问时,例如:str.length; 解释器会创建一个临时的包装对象,伪代码: [[tempObj]] = new String(str); [[tempObj]].length; // 返回具体的length; delete [[tempObj]]; // 销毁临时对象 重复访问str.length会重复创建这个临时对象。 所以str.t赋值可以成功,但再次访问str.t返回undefined,因为每次创建的临时包装对象都是不同的查看全部
-
boolean与数字比较会新转换为数字查看全部
-
严格模式下的一些规则查看全部
-
原始表达式查看全部
-
type of :适合基本类型 和函数对象的检测,遇到null失效 Object.prototype.toString. 例子: Object.prototype.toString.apply([]) //"[Object Array]" Object .prototype.toString.apply(function(){}); //"[Object function]" Object .prototype.toString.apply(null); //"[Object null]' ... PS:ie6/7/8下存在兼容性问题,在检测null时会返回object 4)constructor构造器 每个对象都有个constructor属性,它指向该对象的构造函数类型,不过该属性的值可以被改写的,所以用它的判断并不可靠 5)duck type 百度了为啥叫“鸭子类型”,有这样的话:“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。” 大概意思就是说当某个对象具备某种类型的特征或者行为时就可以被判断为某种类型,不知道是不是“能力检测”那种意思- 适合基本类型及function检测,遇到null失效。 [[Class]] 通过{}.toString拿到,适合内置对象和基元类型,遇到null和undefined失效(IE678等返回[object Object])。 instanceof 适合自定义对象,也可以用来检测原生对象,在不同iframe和window间检测时失效。查看全部
-
javascrpt隐藏机制:当把一个基本类型以对象的形式去使用的时候(例如使用length属性,或者添加一些其他属性),javascript会将其转换为所对应的包装类型对象,相当于new一个string .但是当操作完毕后这个临时包装对象就会被销毁 例子:var a ="string"; alert(a.length);//6 a.t=3; alert(a.t;)//undefined查看全部
-
并不是所有的浏览器都支持严格模式查看全部
-
严格模式查看全部
-
抛出异常的顺序查看全部
-
特殊运算符的种类: 1、条件运算符 c?a:b c为true 则取a,否则取b 2、逗号运算符 a,b 例如 var s = (1,2,3),则s依次赋值,最后输出为3 3、delete运算符 delete obj.x 删除对象obj中的x属性 在IE9下,obj中必须configurable:true 才可以删除,否则无效 4、in运算符 判断obj是否有值或window里是否有变量,返回布尔值 例如 attr in json 或 'document' in window 5、instanceof 判断对象类型 {} instanceof Object // true(返回布尔值) 6、new运算符 创建一个新对象 new obj / new array ... 7、this对象 全局用指向window,函数内指向函数本身,浮动指针 8、typeof 判断对象,返回对象类型 例如 typeof 100 === 'number' // true(判断对应类型字符串) 9、void 一元的,判断所有值,返回均为undefined 一般delete 运算符可以删除对象的属性,而如果使用方法Object.defineProperty(对象,'属性',{configurable:false})处理了对象,该属性就不会被删除,反之ture就是可以被删除。查看全部
-
逗号运算符查看全部
-
javascript表达式查看全部
-
object.prototype.toString 说实话- -,这个没用过,所以涨知识了 Object.prototype.toString.apply([]) //"[Object Array]" Object .prototype.toString.apply(function(){}); //"[Object function]" Object .prototype.toString.apply(null); //"[Object null]' ... PS:ie6/7/8下存在兼容性问题,在检测null时会返回object 4)constructor构造器 每个对象都有个constructor属性,它指向该对象的构造函数类型,不过该属性的值可以被改写的,所以用它的判断并不可靠 5)duck type 百度了为啥叫“鸭子类型”,有这样的话:“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。” 大概意思就是说当某个对象具备某种类型的特征或者行为时就可以被判断为某种类型,不知道是不是“能力检测”那种意思- 适合基本类型及function检测,遇到null失效。 [[Class]] 通过{}.toString拿到,适合内置对象和基元类型,遇到null和undefined失效(IE678等返回[object Object])。 instanceof 适合自定义对象,也可以用来检测原生对象,在不同iframe和window间检测时失效。查看全部
-
asdsad查看全部
举报
0/150
提交
取消