-
#运算符# 一元运算符 +num 二元运算符 a+b 三元运算符 x?a:b 特殊运算符 1、条件运算符 var val=true?1:2; // val=1; 2、逗号运算符 var val=(1,2,3); // val=3; 从左到右依次计算表达式的值,最后取最右边的值 3、delete运算符 -- 删除对象上的属性 var obj = {x:1}; obj.x; //1 delete obj.x; obj.x; //undefined 从ie9开始以后,Object.defineProperty var obj={}; Object.defineProperty(obj,'x',{ configurable:false, value:1 }) delete obj.x; //false(当configurable:true时,才可以被delete) obj.x; //1 (输出1,代表没被成功删除) 4、in运算符 window.x=1; 'x' in window; 判断window里面有没有x这个key,可用in运算符,有则返回true 5、instanceof、typeof运算符 {} instanceof Object // true typeof 100 === 'number' // true 6、new运算符 function Foo(){} Foo.prototype.x=1; var obj = new Foo(); obj.x; // 1 obj.hasOwnProperty('x'); // false (判断是否为对象本身的属性) obj._proto_.hasOwnProperty('x'); // true(判断是否为对象原型上的属性) 7、this运算符 this; // window(浏览器) var obj = { func : function(){return this;} }; obj.func(); // obj 8、void运算符(一元运算符) void 0 //undefined void(0) //undefined 不管void后面的操作数是什么,最终都会返回undefined查看全部
-
#表达式# 是一种JS短语,可以使JS解释器用来产生一个值 原始表达式:常量、直接量、关键字、变量 复合表达式:原始表达式用*等可以拼接为复合表达式 数组、对象的初始化表达式[1,2][1,,4]{x:1,y:2} 函数表达式:把一个函数付给某个变量 属性访问表达式 var o={x:1} o.x也可以o['x'] 调用表达式 对象创建表达式 new Func(1,2) new Object查看全部
-
#类型检测# typeof 适合基本类型的及fuction的检测,但是遇到null返回的是object instancefo适合自定义对象,在不同的iframe和window间检测失效 Object.prototype.toString.apply(需要操作的数); 合适内置对象和基元类型,在IE678中,遇到null和undefined失效。查看全部
-
#js包装对象# 包装对象,就是当基本类型以对象的方式去使用时,JavaScript会转换成对应的包装类型,相当于new一个对象,内容和基本类型的内容一样,然后当操作完成再去访问的时候,这个临时对象会被销毁,然后再访问时候就是undefined查看全部
-
#严格等于# a===b Number,Boolean,String,Undefined这几种基本类型混合比较时,会将其转换成数字再进行比较 基本类型与复合对象进行比较时, 会先将复合对象转换成基本类型(依次调用valueOf与toString方法)再进行比较 undefined被当成基本类型,undefined转换成数字是NaN, 因此undefined与除null之外的其它类型值进行比较时始终返回false(注意NaN==NaN返回false) null被当成复合对象,由于null没有valueOf与toString方法,因此和除了undefined之外的其它类型值进行比较时始终返回false,NaN 和任何比较都不相等一个,也包括其自己,意思是 一个非数字的值……查看全部
-
#js隐式转换# js中6型数据类型:弱类型特性 5种原始类型:number(数字)、string(字符串)、boolean(布尔值)、null 、undefined 1种对象类型:object对象(函数function array Date) +: 加法运算符、数字转换符、字符连接 总归要尝试全部可能计算一个结果出来的,字符串+数字结果总是字符串,不管左右; -:取反运算符(直接转换,不会进行parseInt操作)、减法运算符,作为减法运算符时会尝试把左右操作数都转换为数字;查看全部
-
这个bind()实在太恶心了查看全部
-
今天到此为止查看全部
-
对象的属性: writable、enumerable、configurable、value、get/set [[proto]] 原型链 [[class]] [[extensible]] 对象是否允许增加新的属性 原型链: 设置foo.prototypes.z = 3;之后,如果使用ojb.z的话,他会在obj找不到,然后去proto上找,一直到原型链的末端查看全部
-
key value查看全部
-
http://img1.sycdn.imooc.com//55c06aaa0001faf312800720-500-284.jpg查看全部
-
类型检测小结查看全部
-
特殊运算符查看全部
-
类型检测小结查看全部
-
bind方法使用 this作用域的区别查看全部
举报
0/150
提交
取消