zoukankan      html  css  js  c++  java
  • JS基础知识(数据类型)

     
    1,关于typeof
     
      因为是弱类型语言,而程序代码中又不得不定义出变量的类型所提供出来的方法。
      返回的结果如下图:
     
      如下例子:
      
    var test = "123";
    var ob = {
       add : function(x,y){return x + y}
    }
    var fu = function(x,y){return x - y}
    var nu = null;
    var xyz;
    alert(typeof(test));//string
    alert(typeof(123));//number
    alert(typeof(undefined))//undefined
    alert(typeof(fu));//function
    alert(typeof(ob));//object
    alert(typeof(nu));//object
    alert(typeof(xyz));//undefined
      
      看来上面的例子,可以说通过typeof来判断变量类型不是件很简单的事。
      更详细的列表: 摸我
      https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof
     
    2,undefined
      
      undefined表明变量还未定义。
     
      就像你问javascript,tea是什么,它会回答:没听说过...
      就如下
    var tea;
    alert(tea);
      也可以这样
    var x = undefined;//默认未赋值的变量为undefined
      判断方式:
    if (x === undefined) ...
    if (!x) ...
    if (typeof x === "undefined") ...
    推荐最后者,详细区别参考:继续摸
    另外,对于第二种判断,大家一定学习过if(x)返回false的值有如下:
    false
    0
    ""
    NaN
    null
    undefined
    
    

    3,null

      null表示一个空对象指针,参照前面typeof的例子,typeof操作会返回"object"。
    
    
    var car = null;
    alert(typeof car); //”object”
    
    
      就像你问javascript,tea是什么,它会回答:听说过,具体是怎么样的不知道。这就是和undefined的区别吧。
      如果用双等号判断要注意的是:
    alert(undefined == null)//true
    4,Boolean

    关于
    自动转变值到true或false:
    var message = “Hello world!”;
    var messageAsBoolean = Boolean(message);

      在if里的值也是这个道理,如下表转换原则:

     

     

    5,Number

    关于八进制和十六进制

      如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。

    var y=0377; var z=0xFF;

      所以不要在数字前面写0

    方法:

     

    toFixed()方法比较常用,比如在页面上计算百分比的时候:
    var num = new Number(13.37);
    document.write (num.toFixed(1))
    判断是否为数字:
    1,使用isNaN(),isNaN是is Not a Number的简写,所以不是number返回true,是number返回false。
    2,当然可以使用typeof
    
    
    转成数字类型:
    1,parseFloat(x)
       特别注意:parseFloat("40 years") //40
       详细:摸摸
    2,new Number(x)
    3,~~x
    4,+x 
      等于调用了Number的构造函数


    6,Object
    三种方式创建object(非常清晰):

    继续摸摸

    关于三种方法:
    类方法
    
    对象方法
    
    原型方法
    例子:
    
    function People(name)
    {
    
    this.name=name;
    
    //对象方法
    
    this.Introduce=function(){
    
         alert("My name is "+this.name);
    
         }
    }
    //类方法
    People.Run=function(){
         alert("I can run");
    }
    //原型方法
    People.prototype.IntroduceChinese=function(){
         alert("我的名字是"+this.name);
    }
    var p1=new People("Windking");
    p1.Introduce();
    People.Run();
    p1.IntroduceChinese();
    理解:
    
    1,类方法理解成静态方法就可以了。
    2,对象方法就是实力方法。
    3,用于扩展原对象,new出来的实例可以调用,内部使用的this,是指对象实例
    
      对象方法在new的时候都会重新创建一遍,而原型方法则不用。




    ----------------------------------------

    继续前行!
  • 相关阅读:
    『TensorFlow』模型保存和载入方法汇总
    『cs231n』作业2选讲_通过代码理解Dropout
    『cs231n』作业2选讲_通过代码理解优化器
    『科学计算』图像检测微型demo
    『cs231n』作业1选讲_通过代码理解KNN&交叉验证&SVM
    大数据技术之_16_Scala学习_13_Scala语言的数据结构和算法_Scala学习之旅收官之作
    IDEA 取消参数名称(形参名)提示
    大数据技术之_16_Scala学习_12_设计模式+泛型、上下界、视图界定、上下文界定、协变逆变不变
    大数据技术之_16_Scala学习_11_客户信息管理系统+并发编程模型 Akka+Akka 网络编程-小黄鸡客服案例+Akka 网络编程-Spark Master Worker 进程通讯项目
    大数据技术之_16_Scala学习_10_使用递归的方式去思考,去编程+作业07/08/09
  • 原文地址:https://www.cnblogs.com/killbug/p/3443338.html
Copyright © 2011-2022 走看看