「这是我参与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
后面慢慢更新先别急,需要整理一下