zoukankan      html  css  js  c++  java
  • ECMAScript基本数据类型

     ECMAScript有5种基本数据类型 Undefined、Null、Boolean、Number 和 String。

    1. Undefined类型
    • 未声明、声明但未初始化的变量typeof判定数据类型的时候都是 undefined
    • 声明但未初始化的变量可以对其进行undefined值类型可以执行的操作
    • 未声明的变量对其使用非赋值操作都会出错
    var JsTest=function(){
      
      var str;
       console.log(str==undefined);//true
    console.log(str);//undefined
    // str1=9+str; console.log(str1)//Uncaught ReferenceError: str1 is not defined // 数据类型判断 console.log(typeof str);//undefined console.log(typeof str1);//undefined
    };

     2.Null类型

    • null表示一个空的对象指针,用于初始化空对象变量
    • null是object的一个派生,typeof返回object
    var JsTest=function(){
    
      var oj=null;
      console.log(typeof oj);//object
      console.log(typeof null);//object
    
      console.log(null==undefined);//true
     
    };

    3.Boolean类型 (true、false)

    var JsTest=function(){
      
     //1、布尔类型只有两个值 true和false
     //2、其它类型的值可以转换成布尔值(转换规则见下表)
     
     //转换方式:判断语句隐式转换
      var str="hello world!"
      if (str) {
          console.log("true");//输出true,说明条件成立
      }
      //通过Boolean函数显示转换
      console.log(Boolean(str));//输出true
     
    };
    数据类型 转换为true 转换为false
    Boolean True false
    String 非空字符串 空字符串 “”
    Nbmber 非零数字值 0和NaN
    Object 任何非空对象 null
    undefined / undefined

    4.Number类型

    var JsTest=function(){
      
     // 整数
     var num1=10;//十进制
     var num2=07;//八进制
     var num3=0xf;//十六进制
    
    // console.log(+0==-0);//true, +0和-0是相等的
    
    
     // 浮点数(保存浮点数的内衬空间是保存整数的两倍)
     var numFloat=1.2;//小数点后面必须有一个有效的整数,不然会被ECMAScript自动化整
     
    
    // 数值范围
    //console.log(Number.MIN_VALUE);//5e-324   最小值
    //console.log(Number.MAX_VALUE);//1.7976931348623157e+308 最大值
    
    // 超出数值范围 +Infinity(正无穷) -Infinity(负无穷)
    var a=Number.MAX_VALUE+1;
    var b=Number.MIN_VALUE+Number.MAX_VALUE;
    
    console.log(a+2);//输出还是最大值,在增加也不会变化
    console.log(b);//输出:1.7976931348623157e+308
    
    console.log(Number.MIN_VALUE-1);//输出:-1,这里有点搞不懂
    
    
    
    // 数值超出有效范围之后在进行计算是无意义的
    // 判断一个值是否超出数值表示范围:
    console.log(isFinite(a));//true
    
    
    
    // NaN非数值
    // 处理数值操作时出现的特殊情况
     console.log(10/"d");//NaN
     console.log(NaN+10);//NaN 有NaN参与的计算都返回NaN
     console.log(NaN==NaN)//false 不能判等感觉有点方
     console.log(isNaN(10/'a'));//true 判断是否是NaN
    
    
    };

    5.String 类型

    var JsTest=function(){
      
      // 定义方式
     var str="JavaScript";
     var str1='hello world!';
      console.log(str);//JavaScript
      console.log(str1);//hello world!
    
    //字符串拼接
    console.log(str+","+str1+"!");//JavaScript,hello world!!
    
    //字符长度属性
    console.log(str.length);//10 ,字符中的空格也算,有字符字面量也算
    var str2="hello你 好!
    ";
    console.log(str2.length);//10中文字符也按字数算长度
    
    
    };

    基本类型的特点

     1.基本数据类型是按值访问的,操作的实际是保存在变量中的值。

     2.给基本类型设置属性和方法是不允许的。

    var name='jay';
    name.len=3;
    console.log(name.len);//undefined

     3.一个基础类型变量给另外一个变量赋值的时候,只是单纯的值赋值,赋值之后两个变量完全独立互不影响。

    var num1=10;
    var num2=num1;
    
    num2+=15;
    console.log(num1);//10
    console.log(num2);//25

     4.函数传参的时候,基本类型也是按值传递的,只进行简单的值复制。


     检查数据类型

     对于基本数据类型使用typeof操作符可以检测出来

    var num1=10;
    var str="ssss";
    var tag=true;
    var num;
    var car=null;
    var obj=new Object();
    
    console.log(typeof num1); //number
    console.log(typeof str);//string
    console.log(typeof tag);//boolean
    console.log(typeof num);//undefined
    console.log(typeof car);//objec
    console.log(typeof obj);//object
  • 相关阅读:
    vue cli 3 构建vue项目
    hadoop综合大作业
    理解Mapreduce
    熟悉常用的HBase操作
    常用的HDFS操作
    爬虫大作业
    数据结构化与保存
    爬取新闻
    网络爬虫基础练习
    Hadoop综合大作业
  • 原文地址:https://www.cnblogs.com/fanglylu/p/ECMAScript.html
Copyright © 2011-2022 走看看