zoukankan      html  css  js  c++  java
  • js数据类型和类型检测

    基本数据类型:
    undefined;null;boolean;number;string
    这五种基本类型是按值访问的,因为可以操作保存在变量中的实际的值


    引用数据类型:
    object
    引用数据类型是保存在内存中的对象,javascript不允许直接访问内存中的位置,也就是不能直接操作对象的内存空间,在操作对象时,实际操作的是对象的引用,而不是实际的对象(这种说法其实是不严谨的,当复制保存着对象的某个变量时,操作的是对象的引用。但是为对象添加属性时,操作的是实际的对象)

    参数传递:
    javascript中所有的函数都是按值传递的,所以当函数的形式参数(用ECMAscript的概念,就是arguments对象中的一个元素)是引用数据型时,它也是按值传递的:其方式复制一份该对象的地址给形参,记住不是引用

    eg:

    function addTen(num){
    num+=10;
    return num;
    }
    
    var count=20;
    var result=addTen(count);
    alert(count);	//20 值没有变化	其实就是当count把值复制给形参num时,就与count无关了
    alert(result);	//30
    

      


    另一个例子:
    eg:

    function setNamea(obj){
    obj.name:"monica";
    }
    
    var person={};
    setNamea(person);
    alert(person.name);	//"monica" 它们只是用了同一个地址,虽然它是按值传递的但效果和引用传递时一样的,所以常被错误的认为是引用传递
    

      

    看看这个例子:
    eg:

    function setNameb(obj){
    obj.name="monica";
    obj = new Object();
    obj.name="Green";
    }
    
    var person={};
    setnameb(person);
    alert(person.name);	//monica(闭包)
    

      


    检测类型:typeof和instanceof

    var a=undefined;    alert(typeof a);	//undefined
    var b=null;	    alert(typeof b);	//object
    var c=true;	    alert(typeof c);	//boolean
    var d=1;	    alert(typeof d);	//number
    var e="monica";	    alert(typeof e);	//string
    var f=new Object();  alert(typeof f);	//object
    

      


    instanceof返回的是true或则false

    var person{};
    alert(person instanceof Object);	//instanceof is a object?   true
    
    alert(person instanceof Array);	    //instanceof is a Array?  	false
    
    alert(person instanceof RegExp);    //instanceof is a RegExp?  	false
    

      

  • 相关阅读:
    什么是ORM
    ORM优缺点
    Azure 中快速搭建 FTPS 服务
    连接到 Azure 上的 SQL Server 虚拟机(经典部署)
    在 Azure 虚拟机中配置 Always On 可用性组(经典)
    SQL Server 2014 虚拟机的自动备份 (Resource Manager)
    Azure 虚拟机上的 SQL Server 常见问题
    排查在 Azure 中新建 Windows 虚拟机时遇到的经典部署问题
    上传通用化 VHD 并使用它在 Azure 中创建新 VM
    排查在 Azure 中新建 Windows VM 时遇到的部署问题
  • 原文地址:https://www.cnblogs.com/Eyrum/p/4565705.html
Copyright © 2011-2022 走看看