美文网首页
数据类型检测 in、delete关键字 逻辑短路 原型

数据类型检测 in、delete关键字 逻辑短路 原型

作者: 不正经开发者 | 来源:发表于2018-01-27 14:44 被阅读0次

    1、js组成:

        ECMAscript(基础语法)、Dom(文档对象模型)、Bom(浏览器对象模型)


    2、数据类型:

        基本类型:string number boolean  underfined  null

        复杂类型:Array  function  object  Date  Math  RegExp(正则表达式)


    3、检测数据类型

        typeof:能够检测基本数据类型(除了null),还可以检测函数

        instanceof:判断数据类型,但不严谨

        对象的toString方法:Object.prototype.toString.call(需要检测类型的数据),任意类型都可以检测

        NaN永远不等于其他的值,包括他本身。

        隐式的转换成布尔类型!!

        可以转换成布尔类型的false:false undefined null NaN 0 -0 ''

        除了上面的都转换成布尔类型的true


    4、in关键字的使用

        for in  遍历对象和数组

        判断对象中是否能够访问某个属性或者方法

        判断数组中是否有某个下标

        如果要判断一个数组中是否有某个元素,用indexof。如果存在这个元素就返回这个元素的下标,不存在就返回-1。


    5、delete关键字的使用

        删除没有使用var声明的变量

        删除对象的属性和方法:  delete 对象.属性名

        (普通的对象没有removeAttribute这个方法,这个方法是dom对象的)

        删除数组中的元素: delete 数组[下标]

        删除后下标并不会进行往前挪动


    6、逻辑中断(逻辑短路)

        逻辑与表达式:如果参与逻辑与表达式运算的第一个式子  能够转换成布尔类型的false的话,那么整个逻辑与表达式的值就是第一个式子的值;如果第一个式子不能转换成布尔类型的false的话,那么整个逻辑与表达式的值就是第二个式子的值

        逻辑或表达式:如果参与逻辑与表达式运算的第一个式子  能够转换成布尔类型true的话,那么整个逻辑与表达式的值就是第一个式子的值;如果第一个式子不能转换成布尔类型true的话,那么整个逻辑与表达式的值就是第二个式子的值


    7、原型:其实是一个对象,任意构造函数在被创建,系统都会帮我们自动的生成一个对应的原型对象。

        如何访问原型:构造函数.prototype

        给原型添加属性和方法:构造函数.prototype.方法名或属性名

        原型中的属性或者方法只能是这个原型对应的构造函数创建出来的对象

        注意:如果自己内有这个方法名或属性名,就访问自己的;如果没有再去访问原型的。


    8、__proto__属性 :对象.__proto__:获取的是创建该对象的构造函数对应的原型

        __proto__不是标准的属性,所以以后开发(真实或生产)环境不要使用,自己调试程序,或者验证某种关系,可以使用。


    9、constructor属性:原型中的属性,指向原型对应的构造函数

        构造函数创建的对象中没有constructor属性,就去他的原型中查找这个属性,找到了,就是创建这个对象的构造函数。

    相关文章

      网友评论

          本文标题:数据类型检测 in、delete关键字 逻辑短路 原型

          本文链接:https://www.haomeiwen.com/subject/uypnaxtx.html