zoukankan      html  css  js  c++  java
  • JavaScript学习10 JS数据类型、强制类型转换和对象属性

    JavaScript学习10 JS数据类型、强制类型转换和对象属性

    JavaScript数据类型

      JavaScript中有五种原始数据类型:Undefined、Null、Boolean、Number以及String

     

      Undefined数据类型的值只有一个:undefined

      在JavaScript中,如果函数没有声明返回值,那么会返回undefined。(后面有实例)。

      如果typeof后面跟一个未定义的参数,也是返回undefined

     

      Null数据类型的值只有一个:null

      null与undefined的关系:undefined实际上是从null派生出来的。

      所以:

    alert(undefined == null);

      弹框显示true。

     

      Boolean数据类型的值有两个:true和false。  

    var s = false; //声明了一个布尔值false

       字符串String类型,用单引号或者双引号都可以。

      JavaScript中没有char数据类型。

     

    typeof运算符

      typeof是一元运算符,后跟变量的名称,用于获取变量的数据类型,其返回值有5个:undefined、boolean、number、string以及object

     

      var s = "hello"; // s是原始类型
      alert(typeof s) //输出:string

      另一种方式:

    var s = new String("hello"); //s是对象类型
    alert(typeof s) //输出:object

      对象类型的基类是Object(很像Java),所以typeof判断出是对象类型之后不再具体说明其到底是何种对象类型。

    复制代码
    var s = false;
    alert(typeof s); //输出boolean
    
     
    var s = 3;
    alert(typeof s)    //输出number
    复制代码

    函数无返回值的情况

      在JavaScript中,如果函数没有声明返回值,那么会返回undefined

      function add()
      {
           return;//或者干脆不写return
      }
      alert(add()); //弹框显示undefined

     

    强制类型转换

      强制类型转换:在JavaScript中有3种强制类型转换:

      Boolean(value),Number(value),String(value)

     

      比较常规的:

    var s = Number(3);
    alert(s);

      转换成布尔值:

    var s = Boolean("hello");
    alert(s); //显示true
    var s = String("hello");  //注意此处没有关键字new,表示强制类型转换
    alert(typeof s);//输出string
    //如果加上new则会输出object

      注意:强制类型转换前面是没有new这个关键字的。

     

    对象的属性

      在JavaScript中,所有对象都是从Object对象继承过来的。

      Object中的属性是不可枚举的(propertyIsEnumerable返回false),因此无法

      通过for…in语句得到其中的属性。

    复制代码
    var object = new Object();
    for(var v in object)
    {       
       alert(v);
    }
    //没有弹框,因为没有可枚举的属性
    
    alert(object.propertyIsEnumerable("prototype"));//返回false
    复制代码

      

    动态管理属性

      在JavaScript中,可以动态添加对象的属性,也可以动态删除对象的属性。

    复制代码
    var object = new Object();
    alert(object.username); //undefined
    
    //添加属性
    object["username"] = "shengsiyuan";
    //object.username= "shengsiyuan"; //两种方式都可以动态添加属性username
    alert(object.username); //显示定义的name属性
    
    //删除属性
    delete object.username; // username属性已经从object对象中删除
    alert(object.username);//undefined
    复制代码

    定义对象的另一种方式:

      以属性来定义对象:

    // 在JavaScript中定义对象的最常见的方式
    var object = {username: "zhangsan", password: 123};
    alert(object.username);
    alert(object.password);

    参考资料

      圣思园张龙老师Java Web视频教程。

      W3School JavaScript教程:http://www.w3school.com.cn/js/index.asp

      英文版:http://www.w3schools.com/js/default.asp

  • 相关阅读:
    搭建LNAMP环境(四)- 源码安装PHP7
    搭建LNAMP环境(三)- 源码安装Apache2.4
    搭建LNAMP环境(二)- 源码安装Nginx1.10
    搭建LNAMP环境(一)- 源码安装MySQL5.6
    Yii2框架RESTful API教程(二)
    Yii2框架RESTful API教程(一)
    PHP实现RESTful风格的API实例(三)
    centos7部署elk集群(filebeat+kafka+logstash+elasticsearch+kibana)
    centos7部署kafka+zookeeper集群
    ElasticSearch7.5.2通过模板管理索引副本数、分片
  • 原文地址:https://www.cnblogs.com/liu-Gray/p/4821059.html
Copyright © 2011-2022 走看看