-
typeof基本类型或者函数;Object.prototype.toString.apply(需要操作的数); 合适内置对象和基元类型,在IE678中,遇到null和undefined失效。 obj instanceof Object;适合自定义对象(Person、Student等自定义对象),也可以用来检测原生对象,在不同iframe和window间检测时失效。查看全部
-
typeof100 number;typeof true boolean;typeof function function typeof(undefined) undefined;typeof new Oject() object typeof[1,2] object typeof NaN number typeof null object查看全部
-
包装对象,就是当基本类型以对象的方式去使用时,JavaScript会转换成对应的包装类型,相当于new一个对象,内容和基本类型的内容一样,然后当操作完成再去访问的时候,这个临时对象会被销毁,然后再访问时候就是undefined查看全部
-
num-0就是把num变量转换成数字;num+""就是把num变量变成字符串; 类型不同,尝试类型转换和比较 null==undefined;number==string转number;boolean==?转number;object==number|string ===---严格等于(1:判断类型,2内容,比如null===null;undefined==undefined; 但有特例NaN不等于NaN查看全部
-
原型链查看全部
-
function Person(name, age){ this.name = name; this.age = age; } Person.prototype.hi = function() { console.log("Hi,my name is " + this.name + " ,i'm " + this.age + " years old now"); } Person.prototype.LEGS_NUM = 2; Person.prototype.ARMS_NUM = 2; Person.prototype.walk = function() { console.log(this.name + " is walking...."); } function Student (name, age, className) { Person.call(this, name, age); this.className = className; } Student.prototype = Object.create(Person.prototype); //Student.prototype.constructor = Student; //确保Student原型的构造器是Student,可以不写 Student.prototype.hi = function() { console.log("Hi,my name is " + this.name + " ,i'm " + this.age + " years old now,and from " + this.name); } Student.prototype.learn = function (subject) { console.log(this.name + "is leanring " + subject + " at " + this.className); } var boson = new Student("Boson", 27, "class3 ,grade 2"); boson.hi(); console.log(boson.LEGS_NUM); boson.walk(); boson.learn("math");查看全部
-
由于JS没有真正的继承属性,使用原型链模拟继承特性; 链式调用,返回this,同C++和JAVA,代码书写简洁; 模块化,使用闭包特性,封装内部,对外提供接口。查看全部
-
js:原始数据类型number;string;boolean;null;undefined查看全部
-
重点查看全部
-
包装对象,就是当基本类型以对象的方式去使用时,JavaScript会转换成对应的包装类型,相当于new一个对象,内容和基本类型的内容一样,然后当操作完成再去访问的时候,这个临时对象会被销毁,然后再访问时候就是undefined查看全部
-
不同场景下this的值查看全部
-
for (var item in arr) {};item是全局变量,在for外面也是可以访问的;javascript没有块级作用域; 只有function内的新声明的变量才是局部变量,而没有用var声明的变量在哪里都是全局变量。再次提醒切记只有function(){}内新声明的才能是局部变量,while{...}、if{...}、for(..) 之内的都是全局变量(除非本身包含在function内)。查看全部
-
闭包小结查看全部
-
NaN 和任何比较都不相等一个,也包括其自己,意思是 一个非数字的值……查看全部
-
Number,Boolean,String,Undefined这几种基本类型混合比较时,会将其转换成数字再进行比较 基本类型与复合对象进行比较时, 会先将复合对象转换成基本类型(依次调用valueOf与toString方法)再进行比较 undefined被当成基本类型,undefined转换成数字是NaN, 因此undefined与除null之外的其它类型值进行比较时始终返回false(注意NaN==NaN返回false) null被当成复合对象,由于null没有valueOf 与toString方法,因此和除了undefined之外的其它类型值进行比较时始终返回false查看全部
举报
0/150
提交
取消