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
    

      

  • 相关阅读:
    第一个JAVA程序
    python小项目(python实现鉴黄)源码
    整蛊小病毒,自己拿来快乐
    JavaScript(这里主要侧重于 JavaScript HTML DOM)杂项
    图片与文本基础(html和css)
    CSS的基础学习
    Javascript中this作用域以及bind方法的重写
    斐波那契数列算法求解及速度
    javascript中的描述对象(Descriptor)获取和定义随笔
    vue-cli3生产环境和开发环境路径的替换
  • 原文地址:https://www.cnblogs.com/Eyrum/p/4565705.html
Copyright © 2011-2022 走看看