zoukankan      html  css  js  c++  java
  • 9/11包装对象

    JavaScript对象是一种复合值:它是属性或已命名值得集合。通过“.”符号来引用属性值。

                     当属性值是一个函数时候,称奇为方法。通过O.m()来调用对象O中的方法。

    字符串也有属性和方法:、

                          Var s=“hello world!”;                                       //一个字符串

                          Var word=s.substring(s.index0f("")+1,s.lenght);   //使用字符串的属性 

    可通过String(),Number()或Boolean()构造函数来显示创建包装对象:

            var s="text",n=1,b=ture;    //一个字符串、数字和布尔值

            var S=new  String(s);         //一个字符串对象

            var N=new  Number(n);      //一个数值对象

            var B=new  Number(b);      //一个布尔对象

    3.7 不可改变的原始值和可变的对象的引用

     Js的原始值(underfined,null,布尔值,数字和字符串)与对象(包括数组和函数)有着根本区别。

    对象的比较并非值得比较:即使两个对象包含同样的属性及相同的值,它们是不相等的。各个索引元素完全相等的两个数组也是不相等的。

    var o={x:1}  ,p={x:1}

    o===p                           //false:两个单独的对象用不相等

    var  a=[] ,b=[];               //两个单独的空数组

    a===b                           =>false:两个单独的数组用不相等

    通常将对象称为引用类型(reference type),对象值都是引用(reference),对象的比较均是引用的比较:当且仅当它们引用同一个基对象时,它们才相等。

        var a=[];     //定义一个引用空数组的变量a

        var b=a;     //变量b引用同一个数组

        b[0]=1;      //通过变量b来修改引用的数组

        a[0]            //1:变量a也会修改

        a===b;      //=>ture:a和b引用同一个数组,因此它们相等

    使用循环来完成数组复制:

      var a=['a'、'b'、'c'];

      var b=[];

      for(var i=0;i<a.lenght;i++){

           b[i]=a[i];

    }

    类型转换

    js中对象到字符串的转换:

     ~如果对象具有toString()方法,则调用这个方法。如果他返回一个原始值,Js将这个值转换为字符串,并返回这个字符串的结果。

    ~如果对象没有toString()方法,或者这个方法并不返回一个原始值,那么JS会调用valueOf()方法。如果存在这个方法,则JS调用它,返回原始值。

    ~否则JS无法从toString()或valuOf()获得一个原始值,因此这时它将抛出一个类型错误异常。

    在对象到数字的转换过程中,Js首先尝试用valueOf()方法:

  • 相关阅读:
    JQuery源码解析(十一)
    Oracle帮助类
    JQuery正则验证
    MVC的过滤器
    JQuery源码解析(十)
    JavaScript封装的几种方式
    ps小技巧
    Fragment 的用法小技巧
    onCreateOptionsMenu 和 onPrepareOptionsMenu 的区别
    Axure 注册码
  • 原文地址:https://www.cnblogs.com/maizigogo/p/4800028.html
Copyright © 2011-2022 走看看