zoukankan      html  css  js  c++  java
  • JavaScript中的数据类型

    JavaScript中的数据类型

    ecmascript中有五中简单数据类型;(也称为基本数据类型)
    Undefined Null Boolean Number String
    一种复杂数据类型 object 本质上是一组无序的名称值组成滴呀;

    typeof 运算符:

    值得注意的是typeof(null) 返回的是object,书上是这么解释的,我也只能这么信了‘

    因为特殊值null被认为是一个空的对象引用,

    safari 5 之前的版本和chrome 7 及之前的版本在堆正则表达式调用

    typeof的时候,返回的是function,而其他浏览器返回的是object类型;

    2.

    var message;//申明未赋值,(默认为undefined)

    //var age  没有申明的变量

    alert(message)  //undefined

    alert(age);    //报错; 

    alert(typeof(message));
    alert(typeof(age));
    以上的结果都是undefined

     function show(){
            var a='a';
            var b;
            //var c;
            alert(typeof(a));
            alert(typeof(b));
            alert(typeof(c));
            //后面两个结果都是undefined
            //所以可以简单地用来判断某个对象是否有该属性滴一
        }
        function display(params){
              if(typeof params.name=='string'){
               alert(params.name);    
            }
            if(typeof params.age=='number'){
               alert(params.age);    
            }
            //也可以循环我们arguments 
        }
        
        function show005(){
            var obj1={name:'jack',age:10};    
            var obj2={name:'jackson'};
            display(obj1);
            display(obj2);
        }

    所以为了区分未申明的变量和申明了但没有赋值的变量;

    我们可以显示的初始化message为undefined;

    var message=undefined;

    如果定义的对象准备用来保存对象,最好把它初始化为null,

    null值表示一个空对象指针,这样有助于我们和其他的数据类型区分;

    var obj=null;

    if(obj!=null){

    }else{

    }

    这里值的注意的一点是:

    typeof(null==undefined) //true

    typeof(null===undefined)//false

    //书上是这么解释的,我也只能这么信了,

    undefined值派生自null 

    这里,还有一些关于boolean类型的转换

       这里仅仅是一些简单的笔记!

    //boolean 类型滴
       var a=''; //空字符串转换成false
       var b='123' //非空转成true
        var isa=Boolean(a);
        var isb=Boolean(b);
        alert(isa); //false
        alert(isb); //ture
        //所以
        function show001(){
        var message='123';
        if(message){ //这里默认的进行了一次转换
           alert('不为空');    
        }else{
           alert('空..');
        }
        var value;  //这种申明但没有赋值的默认初始化为undefined
        var obj=null; //如果该变量将用于接收一个对象最好赋值给null 空对象的指针
        alert(Boolean(value));
        if(value){
            alert('true');
        }else{
            alert('false'); //这的是这条路线
        }
        
        if(obj!=null){
            
        }else{
        
        }
        //所以在在申明变量的时候,根据实际情况给予赋值;
        //undefined  null  '' //注意着三种空值滴呀
      }
        //关于NaN 和isNaN()
        function show002(){
            //判断一个x是否能够装换成数字
            //能转换就非NaN
            //不能转换就是NaN
            alert(isNaN(NaN));//true
            //例一:
            var temp=parseInt('blue');
            alert(temp);       //结果:NaN
            alert(isNaN(temp)) //true 不能转换成数值
            //例二:
            var str='red';
            alert(isNaN(str))   //true
            
            var strNum='123';
            alert(isNaN(strNum)); //false 
            
            //注意连个特别的!
            var value1=Number(true);   //1
            var value2=Number(false);  //0
            
            //所以
            alert(isNaN(true))         //false
            alert(isNaN(false))        //false
            
        }
        //数值类型之间的转换滴呀
        //数值之间额装换;
        //Number parseInt parseFloat();

     在string 类型中;

      x个字符长度的转义序列表示一个字符;

      字符串的特点:ecmascript中的字符串是不可变的,

    也就是说,字符串一旦创建,他们就不能改变的滴呀;要改变

    某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个含有新值的字符串填充该变量;

    字符串的转换;

    var age=10;

    var ageStr=age.toString();

    var found=true;

    var foundStr=found.toString();

    注意null 和undefinded 值没有这个方法;

    toString(n)  n可以代表基数,输入二进制,八进制,十六进制;等鞥

    如果不知道数据类型的情况下可以使用;

    String(),这个函数可以将任何类型的值转换成字符串;

    var val1=10;
    var val2=null;
    var val3=undefined;
    alert(String(val1))
    alert(String(val2))
    alert(String(val3))
    //这样的数据转换还是可以滴呀

    接下来就是我们的object类型了;

    ecmascript 中的对象其实就是一组数据和功能的集合;

    创建Object类型的实例并未其添加属性和方法,就可以创建

    自定义的对象了;

    var obj=new Object();

    var obj=new Object; //两种都有效;

    在ecmascript中Object类型是所有它的实例的基础;

    Object 的每个实例都具有下面的属性和方法;

    Constructor 保存着用于创建当前对象的函数,

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

    而不是在实例的原型中;

    isPropertyOf(object)用于检查传入的对象是否是另一个对象的原型;

     instanceof、isPrototypeOf、hasOwnProperty、in(先把这个疑问,留在这里......)

    propertyIsEnumerabel(propertyName)用于检查给给定的属性是否能够

    用for in 语句来枚举;

    toLocaleString:返回对象的字符串表示,该字符串与执行环境的地区对应;

    toString();返回对象的字符串;

  • 相关阅读:
    Android开发:fragment将事件传递回activity
    Android开发:使用DialogFragment实现dialog自定义布局
    菜鸟的开始
    SAP HANA中创建计算视图(Calculation View)
    SAP HANA studio 创建分析视图
    SAP HANA 创建属性视图
    SAP HANA 能做什么
    SAP HANA 是什么?
    SAP BW 例程(Routine)【开始例程、关键值或特性的例程、结束例程】
    DSO分类及应用
  • 原文地址:https://www.cnblogs.com/mc67/p/5193748.html
Copyright © 2011-2022 走看看