js-对象

js-对象

创建对象

字面量

var person = {
    name:'张三',
    age:'18',
    sex:'男'  
    toString: function () {
                console.log("姓名:" + this.name + " , 年龄:" + this.age + " , 性别:" + this.sex);
            }  
}
person.toString();
console.log(person.name);

new Object()

var person = new Object();
person.name = "李四";
person.age = 19;
person.sex = '男';
person.toString = function () {
            console.log("姓名:" + this.name + " , 年龄:" + this.age + " , 性别:" + this.sex);
        }
person.toString();
console.log(person.name);

工厂模式

function createPerson(name,age,sex){
   var person = new Object();
   person.name = name;
   person.age = age;
   person.sex = sex;
   person.toString = function () {
                console.log("姓名:" + this.name + " , 年龄:" + this.age + " , 性别:" + this.sex);
            }
            return person;
        }
        var person1 = createPerson('王五',17,'男');
        var person2 = createPerson('张柳',18,'女');
        person1.toString();
        person2.toString();

构造函数

函数名一般首字母大写,把对象的属性当做构造函数的参数传递进去

function Person(name,age,sex){
            this.name = name;
            this.age = age;
            this.sex = sex;
            this.toString = function () {
                console.log("姓名:" + this.name + " , 年龄:" + this.age + " , 性别:" + this.sex);
            }
        }
        var p1 = new Person('1',12,'1');//通过 new 关键字调用,通过构造函数来创建对象
        var p2 = new Person('2',11,'1');
        p1.toString();
        p2.toString();
        

操作对象

var person = {
            name:'张三',
            age:18
        };
        // 获取属性对应的值
        console.log(person.name);
        console.log(person['name']);
        // 添加
        person.sex='男';
        person['addr']='石家庄';
        // 更改
        person.age=20;
        person['age']=11;
        // 删除
        delete person.age;
        // 遍历像js的数组一样
        for (key in person) {
           // key 是属性 , 字符串类型
           console.log(person[key]);
        }

js-内置对象

math对象

Math和其他的对象不同,它不是一个构造函数,它属于一个工具类不用创建对象,它里边封装了数学运算相关的属性和方法


        // 保留两位小数
        console.log(3.1415926.toFixed(2));
        // 随机数 大于等于0 且小于1
        console.log(Math.random() );
        // 向下取整
        console.log(Math.floor(2.9));
        // 向上取整
        console.log(Math.ceil(2.2));
        // 四舍五入
        console.log(Math.round(6.51));
        console.log(Math.round(3.5));
        // 最大值
        console.log(Math.max(1,2,4,5,7,11,23));
        // 最小值
        console.log(Math.min(1,2,0.2,22));
        // 几次幂  3的2次方
        console.log(Math.pow(3,2));
        // 开平方
        console.log(Math.sqrt(4));

        function getRandom(min,max){
          return  Math.floor(Math.random()*(max-min+1)+min);
        }
        console.log(getRandom(21,55));

date 对象

 // 创建时间对象
        var date = new Date();
        // Wed Aug 11 2021 15:18:53 GMT+0800 (中国标准时间)
        console.log(date);
        // 1628666364026 获取时间原点到当前时间的毫秒数
        console.log(date.valueOf());
        console.log(date.getTime());
        // 年
        console.log(date.getFullYear());
        // 月从0开始,需要+1
        console.log(date.getMonth()+1);
        // 日
        console.log(date.getDate());
        // 星期 0 是周日,1是周一
        console.log(date.getDay());
        // 时
        console.log(date.getHours());
        // 分
        console.log(date.getMinutes());
        // 秒
        console.log(date.getSeconds());

array 对象

// 字面量
        var arr1 = [1,2,34];
        // new
        var arr2 = new Array(2,5,1);
        // 判断是否是数组 instanceof 或 isArray
        console.log(arr1 instanceof Array);
        console.log(Array.isArray(arr2));

        // push 尾部追加
        arr1.push(1);
        // 尾部删除
        arr1.pop();

        // 头部追加
        arr1.unshift(2);
        // 头部删除
        arr1.shift();

        arr1 = [1,2,3,4];
        // 反转
        arr1.reverse();
        console.log(arr1);

        arr1 = [1,12,11,2];
        // 排序,只会按照ASCII码进行比较
        // 1,11,12,2
        arr1.sort();
        // 12,11,2,1
        arr1.sort(function(a,b){
            // a-b 升序 , b-a 降序
            return b-a;
        });
        // 箭头函数写法
        // 1,2,11,12
        arr1.sort((a,b)=> a-b);
        console.log(arr1);

        // 第一个参数是数据,第二个参数是索引
        arr1.forEach(function(item,index){
            console.log(item,index);
        });
        arr1.forEach((item,index)=>console.log(item,index));

        // filter : 过滤,不符合条件的就不要了
        // 只要偶数
        var arr3 = arr1.filter(function(item,index){
            if(item % 2 == 0){
                return true;
            }else{
                return false;
            }
        });
        console.log(arr3);
        var arr4 = arr1.filter( item=> item%2==1 ? true : false );
        console.log(arr4);

        // map : 更改数组
        var arr = [1,2,3,4,5,6];
        // 数组中 奇数 +10 偶数 +5
       var arr5 = arr.map(function(item){
            if(item % 2 == 0){
                return item+5;
            }else{
                return item+10;
            }
        });
        console.log(arr5);

        var arr6 = arr.map(item=> item % 2 == 0 ? item+5 : item+10 );
        console.log(arr6);

        var arr = [1,2,3,4,5,6,7,8,9];
        // 获取对应数据的索引,找不到返回-1
        console.log(arr.indexOf(21));
        // 获取最后一次出现的索引,找不到返回-1
        console.log(arr.lastIndexOf(3));

        // 数组转字符串
        console.log(arr.join('-'));
        var arr1 = [1,2,3];
        var arr2 = [11,12,13];
        var arr3 = arr1.concat(arr2);
        console.log(arr3);

        // 删除,并返回要删除的数据
        var arr = [1,2,3,4,5];
        arr.splice(2,1);
        console.log(arr);

        arr = [];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值