阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JavaScript object 类型

      Object

      Object类型包括,数组、正则等等;

      寻找Object

      var num=2;
      console.dir(num);//number 实例
      console.dir(num.__proto__);//Number 类
      /*
      *
      * constructor  :Object
      *
      *
      * */
      
      var str="haha";
      console.dir(str);//string 实例
      console.dir(str.__proto__);//String 类
      
      
      /*判断是否一致*/
      console.log(num.__proto__.__proto__=== str.__proto__.__proto__);//true
      
      
      //万物皆对象,并不等于只有一个对象类型的;
      // Number / String / Object / Boolean
      
      

      特性

      • 定义:一组数据或功能的集合
      • 声明
        • var o=new Object()//Object后面的()可以省略,但不推荐
        • var o={}
      //key:value
      //1、字面量的创建方式;推荐的方式
      var o={
          name:"zhu",
          say:"hello"
      };
      console.log(o);//{name: "zhu", say: "hello"}
      
      var oDemo={};
      //    oDemo.name1=
      if(!oDemo.flagVal){
          oDemo.flagVal="Test"
      }
      oDemo.name="bang";
      oDemo.say="hahahahahahahha";
      console.log(oDemo.flagVal);//Test
      console.log(oDemo);//{flagVal: "Test", name: "bang", say: "hahahahahahahha"}
      
      //new
      var demo1=new Object();//不推荐的使用方法;
      demo1.haha="hahahahahahah";
      console.log(demo1);//{haha: "hahahahahahah"}
      
      //jQuery的AJAX;
      /*var options={
          url:"babababab",
          type:"",
          date:{}
      };
      $.ajax(options);*/
      

      属性和方法

      let obj = {};
      obj[foo] = "foo";
      obj[bar] = "bar";
      JSON.stringify(obj); // {}
      Object.keys(obj); // []
      Object.getOwnPropertyNames(obj); // []
      Object.getOwnPropertySymbols(obj); // [ foo, bar ]
      
      • constructor:保存用于创建当前对象的函数,构造函数就是Object()
      • HasOwnProperty(propertyName) 检测给定输定在当前对象实例中是否存在(而不是实例的原型中)
      • isPrototypeOf(object) :检测传入的对象是否是另一个对象的原型(而不是在实例中);
      • propertyIsEnumerable(propertyName);检测给定属性是否能用for-in语句每句来枚举;
      • toLocaleString() 返回对象的字符串表示,该字符串与执行环境的地区对应;
      • toString() 返回对象的字符串表示
      • valueOf() 返回对象的字符串,数值或布尔值表示;通常与toString()的值相同;

      在ECMAScript中,Object是所有对象的基础,因此所有对象都具有这些基本的属性和方法;方法的具体原理,后面数据类型和原型链中具体说;

      BOM/DOM中的对象,都是属于宿主对象,因为他们是由宿主实现提供和定义的,但是ECMAScript不负责定义宿主对象,因此宿主对象可能会也可能不会继承Object;

      function Test(opt) {
          //bala bala
      }
      var testVal=Test({a:"",b:""});
      
      //Array;
      var a=[1,2,3,4,5,6,7];//var a=[1,2,3,4,5,6,7,]  低版本浏览器,length的;
      console.log(a);//编程语言里,index是以0为开始的;
      console.log("第一位,a[0]",a[0]);
      console.log(a[1]);
      console.log(a.length);//7
      
      目录
      目录