JavaScript学习(二)

属性getter和setter

  • 属性的可读性和可写性
  • 该属性可以继承
	var p={
            //x和y是普通可读写的数据属性
	        x:1.0,
            y:1.0,
            //r是可读写的存取器属性,它有getter和setter
            //函数体在此处是当做属性,结尾要加逗号
            get r() {return Math.sqrt(this.x*this.x+this.y*this.y);},
            set r(newvalue){
                var oldvalue=Math.sqrt(this.x*this.x+this.y*this.y);
                var ratio=newvalue/oldvalue;
                this.x*=ratio;
                this.y*=ratio;  
            },
            //theta是只读存取器属性,它只有getter属性
            get theta(){return Math.atan2(this.y,this.x); }
        };
Vue中直接使用v-model实现数据的双向绑定
序列化对象——将对象的状态转化为字符串

提供了内置函数JOSN.stringify()和JSON.parse()

 o={x:1,y:{z:[false,null,""]}};
 s=JSON.stringify(o);   //s是{"x":1,"y":{"z":[false,null,""]}}
 p=JSON.parse(s);      //p是o的深拷贝  
数组方法
  • join()
  //join————将数组中的所有元素转化为字符串连接在一起,返回最后生成的字符串
  //可以指定一个可选的字符串在生成的字符串中来分隔数组的各个元素
        var a=[1,3,4];
        a.join();    //1,3,4
        a.join(" "); //1 3 4
        a.join("");  //134
        var b=new Array(10);
        b.join('-');    //1---------3---------4
  • reverse()
//reverse()————将数组中的元素逆序
        a.reverse(); //[4,3,1]
  • sort()
//sort()不带参数调用时,按字母表顺序排列
        var m=["banana","cherry","apple"];
        m.sort();  //['apple', 'banana', 'cherry']

//sort()带参数调用时,必须给sort()方法传递一个比较函数
//假设第一个参数应在前,比较函数应该返回一个小于0的数值,反之;
        var n=[33,4,111,22];
        n.sort();   //[111,22,33,4]  按字母表顺序排列
        n.sort(function(a,b){
            return a-b;   
        });   //[4, 22, 33, 111] 从小到大排列

        n.sort(function(a,b) {return b-a;});  //[111, 33, 22, 4] 从大到小排列
  • contact()
//contat()————连接数组,连接的数数组元素,不是数组本身
        var a=[1,2,3]
        a.concat(4,5);   //[1,2,3,4,5]
        a.concat([4,5]);  //[1,2,3,4,5]
        a.concat([4,5],[6,7]);   //[1,2,3,4,5,6,7]
        a.concat(4,[5,[6,7]]);   //[1,2,3,4,5,[6,7]]
  • slice()
 //slice()————返回数组指定的片段或子数组
        a=[1,2,3,4,5]
        a.slice(0,3);   //[1,2,3] 取a[0]到a[3]
        a.slice(3);     //[4,5]   如果只指定了一个参数,即获取该参数对应元素到结束元素
        a.slice(1,-1);   //[2,3,4] -1指定了倒数第二个元素
        a.slice(-3,-2);    //[3]
  • splice()
//splice()————插入或者删除元素,返回的是由删除元素组成的数组,会修改调用的数组
//一个参数为起始位置,第二个参数为需要删除的个数
        var a=[1,2,3,4,5,6,7,8];
        a.splice(4);     //返回[5,6,7,8];a是[1,2,3,4]
        a.splice(1,2);   //返回[2,3];a是[1,4]
        a.splice(1,1);   //返回[4];a是[1]
        //插入 前两个参数指定了需要删除的数组元素,后面紧跟需要插入的元素
        var a=[1,2,3,4,5];
        a.splice(2,0,'a','b');  //返回[0];a是[1,2,'a','b',3,4,5];
        a.splice(2,2,[1,2],3);  //返回['a','b'];a是[1,2,[1,2],3,3,4,5]
  • push()和pop()
    push()在数组尾部添加一个或者多个元素;
    pop()在数组尾部删除一个或者多个元素;

  • unshift()和shift()
    unshift()在数组头部添加一个或者多个元素;
    shift()在数组头部删除一个或者多个元素;

  • toString()和toLocaleString()
    将元素转化为字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值