JavaScript快速学习

237 阅读2分钟

对象

在JavaScript中,一切皆是对象,所有数据都可以存储在对象里。不管声明的是什么数据类型,都拥有属性和方法。

创建对象

创建对象有2种方法。

  • 使用new Object或者大括号创建赋值。

    var obj = new Object();
    obj.name="张三";
    obj.age = 33;
    obj.sex ="男";
    console.log(obj);//结果为{name:"张三",age:33,sex:"男"}
    
    //创建时直接赋值,用大括号键值对的形式。
    var obj = {name:"张三",age:33,sex:"男"};
    console.log(obj);//结果为{name:"张三",age:33,sex:"男"}
    
  • 使用对象构造器

    对函数用构造对象

    function person(name,age,sex){
      //创建对象属性
      this.name=name;
      this.age=age;
      this.sex=sex;
      //创建方法
      this.eat = eat;
      function eat(){
        console.log(name+"吃饭啦");
      }
    }
    var p = new person("张三",33,"男");
    console.log(p);//person {name: "张三", age: 33, sex: "男"}
    p.eat();//张三吃饭啦
    

访问对象的属性和方法

和其他面向对象的语言一样,使用 对象.属性名 获取属性 。

var a = "hello";
//获取字符串对象的长度
console.log(a.length);//结果为2.
//调用字符串的大写方法,将所有字符变成大写。
console.log(a.toUpperCase());

Window

sessionStorage

可以在当前窗口存储kv结构的数据,网页关闭后,数据会消失。

//存储
window.sessionStorage.setItem("key",value)
//获取
window.sessionStorage.getItem("key")
//删除
window.sessionStorage.removeItem("key")
//清空
windows.sessionStorage.clear()
​

localStorage

可以永久性的保存kv结构的数据。用法同sesstionStorage。

//存储
window.localStorage.setItem("key",value)
//获取
window.localStorage.getItem("key")
//删除
window.localStorage.removeItem("key")
//清空
windows.localStorage.clear()

伪数组

伪数组本身还是一个对象,只不过内部的属性定义让人看起来像是个数组而已。

规则:

  • 拥有length属性,其他属性必须是非负整数或者是字符串形式的非负整数。
  • 不能有数组本身拥有的方法。

示例

var fakeArray={
  "0":"张三",
  "1":"李四",
  "2":"王五",
  "length":3
}

javascript中常见的伪数组有arguments、DOM对象集合

使用伪数组是为了让对象能够使用一些数组的方法。

this

通常情况下,谁调用的函数,this就指向谁.

默认地,普通函数调用后,this为Window对象。

改变this

用call函数来改变this,将指定的值传入call函数中。

function test(){
  console.log(this)
}
var p = {name:"张三",age:33}
test.call(p)
//输出结果为object{name:"张三",age:33}

\