一些JavaScript对象

136 阅读3分钟

「这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战

什么是对象

在JavaScript中 对象是一组 无序 的相关属性和方法的集合 所有的事物都是对象。例如字符串,数值,数组,函数等

对象是由 属性 和 方法 组成的

属性:事物的 特征 ,在对象中 属性 来表示(常用名词)

方法:事物的 行为 ,在对象中 方法 来表示(常用动词)

创建对象的三种方式

        // 利用对象自变量创建对象
        //var obj = {};创建一个空对象
        var obj = {
            name: '雷磊',
            age: 22,
            weight: 140,
            sex: '男',
            sayHi: function() {
                console.log('你好我是雷磊');
            }
        };

(1)里面的属性或者方法采用键值对的形式: 键 属性名:值 属性值

(2)多个属性用逗号隔开

(3)方法冒号后面跟一个匿名函数

//2.使用对象

(1)调用对象的属性 我们采取 对象名.属性名

console.log(obj.name);

(2) 调用属性还有一种方法 对象名['属性名']

console.log(obj['name']);

(3) 调用对象的方法 sayHi 对象名.方法名() 别忘记添加小括号

       obj.sayHi();

       console.log('------------------------------------------');

       //利用 new Object 创建对象
       var obj2 = new Object(); //创建了一个空的对象
       obj2.uname = '张三丰';
       obj2.uage = 18;
       obj2.usex = '男';
       obj2.usayHi = function() {
           console.log('你好我是new Object');
       }
       // (1)我们是利用 等号 = 赋值的方法 添加对象的属性和方法
       // (2)每个属性和方法之间用 分号结束
       console.log(obj2.uname);
       console.log(obj2['uage']);
       obj2.usayHi();
       console.log('------------------------------------------');

       //利用 构造函数 创建对象
       //因为前两个方式 一次只能创建一个对象
       //构造函数的语法格式:
       function Star(uname,age,sex) {
           this.name = uname;
           this.age = age;
           this.sex = sex;
           this.sing = function(sang){
               console.log(sang);
           }
       }
       var ldh = new Star('刘德华',18,'男');  //调用函数返回的是Object
       console.log(typeof ldh); //Object
       console.log(ldh.name);
       console.log(ldh['sex']);
       ldh.sing('冰雨');

构造函数的 函数名 首字母要大写

构造函数不需要return 就可以返回结果

调用函数对象必须使用 new

属性的创建方法必须使用 this

构造函数和对象

        //构造函数
        function Star(uname,age,sex) {
            this.name = uname;
            this.age = age;
            this.sex = sex;
            this.sing = function(sang){
                console.log(sang);
            }
        }
        // 对象 是一个具体的事物
        var ldh = new Star('刘德华',18,'男');  
        console.log(ldh); //Star {name: "刘德华", age: 18, sex: "男", sing: ƒ}
        //我们利用构造函数创建对象的过程我们也称为对象的实例化

//我们利用构造函数创建对象的过程我们也称为对象的实例化

1.new 构造函数首先在内存中创建了一个空的对象

2.this会指向刚才创建的空对象

3.执行构造函数里面的代码

Math

        console.log(Math.pow(2,53));
        console.log(Math.round(.6))
        console.log(Math.ceil(.6));  
        console.log(Math.floor(.6));
        console.log(Math.abs(-5)); 
        console.log(Math.max(x,y,z)); 
        console.log(Math.min(x,y,z)); 
        console.log(Math.random()); 
        console.log(Math.PI);   
        console.log(Math.E);   
        console.log(Math.sqrt(3)); 
        console.log(Math.pow(3, 1/3));  
        console.log(Math.sin(0));   
        console.log(Math.log(10));  
        console.log(Math.log(100)/Math.LN10); 
        console.log(Math.log(512)/Math.LN2);   
        console.log(Math.exp(3));   

//9007199254740992 2的53次方

//1.0 舍入到最接近的整数

//1.0 向上取整到一个整数

//0.0 向下取整到一个整数

//5 绝对值

// 返回最大值

// 返回最小值

// 伪随机数x 其中0<= x < 1.0

//圆周率

//e 自然数的底数

//3的平方根

//3的立方根

//三角函数:还有Math.cos Math.atan

//10的自然对数

//2 以10为底的100的对数

//9 以2为底的512的对数

//Math.E的立方

        //ES6又新增了一些函数
        console.log(Math.cbrt(27));     
        console.log(Math.hypot(3, 4)); 
        console.log(Math.log10(100));   
        console.log(Math.log2(1024));   
        console.log(Math.log1p(x));     
        console.log(Math.expm1(x));     
        console.log(Math.sign(x));      
        console.log(Math.imul(2,3));    
        console.log(Math.clz32(0xf));   
        console.log(Math.trunc(3.9));  
        console.log(Math.fround(x));   
        console.log(Math.sinh(x));      //双曲线正弦,还有Math.cosh()和Math.tanh()
        console.log(Math.asinh(x));     //双曲线反正弦,还有Math.acosh()和Math.atanh()

//3 的立方

//5 所有参数和的平方和的平方根

//2 以10为底的对数

//10 以2为底的对数

//(1+x)的自然对数;精确到非常小的x

//Math.exp(x)-1; Math.log1p() 的逆运算

//对<、==、>0的参数返回-1、0或1

//6 优化的32位整数乘法

//28 32位整数中前导0的位数

//3 剪掉分数部分得到整数

//舍人到最近的32位浮点数

//双曲线正弦,还有Math.cosh()和Math.tanh()

//双曲线反正弦,还有Math.acosh()和Math.atanh()

Date

后面慢慢更新先别急,需要整理一下