zoukankan      html  css  js  c++  java
  • 关于 JavaScript 数据类型判断

          在 JavaScript 中,有 undefined、null、number、string、boolean 五种基本数据类型,另外,有一种复杂数据类型 object ,类似于 C# 中值类型、引用类型。

         在 JavaScript 中,判断一个变量的数据类型(仅限于基本类型),可以通过 typeof 操作符来进行 , 返回一个字符串。

         

    typeof(undefined)        // “undefined”
    typeof(null)              // "object"
    typeof(3)                 // "number"
    typeof("abc")             //  “string”
    typeof([])                  // "object"
    typeof(function test() {})   // "function"

           在 JS 中,函数也是一种对象,  JavaScript 中有 String、Object、Boolean、Number、Date、Error 等内置函数对象。

         

     创建对象的可通过  new 构造函数名()实现。
    
     var array=new Array() ;  // 语法糖 []
    
     var obj=new Object();   // 语法糖 {}

          

         而在 JavaScript 中判断引用类型 可采用 instanceof 进行判断   ( obj  instanceof  constructor  )  obj :需判断对象  constructor:函数名   返回值为 boolean     用于判断某个构造函数的prototype属性是否存在另外一个要检测对象的原型链上

        

        console.log([] instanceof Array) // true 
    
        console.log(Object instanceof Function) // true
    
        console.log(Object instanceof Object)     // true 
    

      

       JavaScript 中原型:在 JS 中通过原型来实现继承,在 JS  中没有类的概念。 

    在 JS 中每个 JS 对象都有一个默认 _proto_ 隐式属性(在 ECMASCRIPT 5 ,可通过 Object.getPrototypeof(obj) 方法获取对象原型 )
    
    而该隐式原型等于创建该对象构造函数的 prototype 属性 ,每当对身自身查找方法属性时,如果在本身查找不到时,就会沿着该原型进行查找,
    
    如果在该原型中查找不到,继续沿着该原型的原型往上进行查找 ...... 即形成原型链, 最后查找到 Object.prototype 为止,
    
    Object.prototype._proto_ 值为 null。
    
    obj._proto_===Object.getPrototypeof(obj)===constructor.prototype
    
     其中 obj 为对象  constructor 为创建 obj 的构造函数
    

      

        var obj={Name:"王尼玛",Age:20,Gender:true};
    
        console.log(obj.Name) ; //    JS 属性方法查找规律,首先去自身查找 Name 属性 ,如果找到就不在往上查找。
    
        console.log(obj.toString()); //  obj 本身是没有这个方法的,那么肯定就是继承而来的
    
    
  • 相关阅读:
    区块链共识算法整理
    用Python实现GBDT算法并处理Iris数据集
    用Python实现岭回归算法与Lasso回归算法并处理Iris数据集
    软件体系结构结课报告
    用Python实现支持向量机并处理Iris数据集
    HTML标签(三)
    HTML标签(二)
    HTML标签(一)
    HTML简介
    开始。
  • 原文地址:https://www.cnblogs.com/Lumia1020/p/4843662.html
Copyright © 2011-2022 走看看