• (3)javascript 基本概念--- -- 数据类型


    typeof操作符

    typeof 操作符可能返回的字符串有:

      1 undefined :未定义

          2 boolean :布尔值 

          3 string :字符串

          4 object :对象或者null

          5 number : 数值

          6 function : 函数

    ps:在使用 typeof null的时候,会返回object ,但是在safari5 和之前的版本,chrome7-- 可能会返回function

    undefined 类型

      var message;

      alert(message==undefined);//true

       alert(age);//error

      alert(typeof message);//undefined

      alert(typeof age);//undefined

    null 类型 

       var message = null;

        alert(typeof message);//object

        alert(null==undefined)//true

        alert(message==undefined);//true

     boolean 类型

       

    数据类型 true false
    boolean true false
    string 非空字符串 “”空字符串
    number 非零数值包括无穷大 0/ NAN
    object 任何对象   null
    undefined n/a undefined

    number 类型

      1 十进制

      2 八进制 :以8为基数 第一位必须是零 序列(0-7)

      3 十六进制 :以16为基数 第一位必须为0x 序列(0-9,A-F(大小写均可))

            A 10 B 11 ....

      4 浮点 : 必须包含一个小数点,小数点后面必须至少有一位数字,小数点前面可以没有整数。对于极大极小的数值,用e表示法(科学计数法)。var floatNum = 3.125e7;//31250000  ps 0.1+0.2 !=0.3

      5 数值范围:最大值保存在Number.MAX_VALUE中:1.7976931348623157e+308 ,最小值保存在Number.MIN_VALUE中,5e-324.

    超过的都会被转化为Infinity(大于最大数值),-Infinity(小于最小数值),IsFinite()函数,可返回是否是一个有效范围内的数值。

      6 NaN  not a number. 任何除于0的数值都会返回NaN,不会影响其他代码的执行。任何和NaN操作相关的都会返回NaN

      alert(NaN==NaN);//false

      alert(isNaN(NaN));//true //如果不可以被转换成数值,返回true,

       alert(isNaN("10"));//false

      alert(isNaN(10));//false

      alert(isNaN("blue"));true

      alert(isNaN(true));false;

      7 数值转换

      

      Number() parseInt()
    boolean 0/1 NaN
    null 0 NaN
    string () hello/hello1/1hello/hell1o/ NaN/NaN/NaN/NaN NaN/NaN/1/Nan
        如果第一个字符不是数值,都会返回NaN
         

    string 类型

    表示由零或多个16位unicode字符组成的字符序列

    object 类型

    对象是一组数据和功能的集合,可通过new操作符后跟要创建的对象类型的名称来创建

    object 有以下属性和方法

      1 constructor 保存着用于创建当前对象的函数,构造函数(constructor)就是object()

          2 hasOwnProperty(propertyName) 用于检查给定的属性在当前的对象实例中

      3 isPrototypeOf(object):用于传入的对象是否是传入对象的原型

          4 propertyIsEnumerable(propertyName):是否支持枚举

          5 toLocaleString() 返回对象的字符串表示

      6 toString() 返回对象的字符串表示

      7 valueOf 返回对象的字符串、数值、布尔值表示。

    var test = function (name) {
                //...
                this.name = name;
            };
            test.prototype.options = function () {
                //..
            };
            var v = new test("Jackey");
            v.age = 23;
            console.log("hasOwnProperty:" + v.hasOwnProperty("name"));//true
            console.log("hasOwnProperty:" + v.hasOwnProperty("options")); //false
            console.log("hasOwnProperty:" + v.hasOwnProperty("age")); //true
            console.log("hasOwnProperty:" + test.prototype.hasOwnProperty("options")); //true
            console.log("hasOwnProperty:" + test.prototype.isPrototypeOf("options")); //false
            console.log(v.toLocaleString()); //object
            console.log(v.toString());
            console.log(v.propertyIsEnumerable("options"));//false
  • 相关阅读:
    html----响应式布局,左侧栏目固定,右侧内容随着屏幕宽度变化而变化
    es6----set map应用场景
    html----实现元素上下左右居中
    html----怎样实现元素的垂直居中
    html----BFC独立渲染区
    js-----new一个对象的过程
    解决ios手机上传竖拍照片旋转90度的问题
    软键盘遮挡问题
    在不同浏览器中,input里面的输入光标大小表现形式却大不相同
    样式兼容开头
  • 原文地址:https://www.cnblogs.com/lihaozhou/p/3571889.html
Copyright © 2020-2023  润新知