Skip to content

对象

732字约2分钟

2024-07-07

对象的定义

对象

键值对是一个键对应一个值

对象是一种数据类型,以键值对形式保存数据的一种数据类型且数据没有顺序的

//推荐的写法
let objectName = {
	//your code
}

//构造函数写法
let objectName = new object();

对象的操作

获取对象属性的值

let player = {
    attackValue: 1000,
    bloodBar: 100,
    weapon: 'hand'
};

//写法1
player.weapon
//写法2
player['attackValue']

遍历对象的值

注意

必须使用 对象名[变量] 方式获取,否则结果是undefined

let profile = {
    name: 'John Wick',
    age: 45,
    height: 180
}

for(let killer in profile){
    console.log(profile[killer]);
}

获取对象中的方法

方法

方法的本质就是一个函数,执行对象中的函数

let area = {
    tip:console.warn('请输入相应的值。'),
    square: function(a,b){
        a = prompt('请输入宽:');
        b = prompt('请输入高:');
        are = a * b;
        return are;
    },
    circle:function(r){
        r = prompt('请输入半径:');
        area = r**2*Math.PI;
        return area;
    }
}

//写法1
area.circle();
//写法2
area['tip']();

修改对象中的值

let player = {
    userName = '',
    attackValue: 1000,
    bloodBar: 100,
    weapon: 'hand'
};

//写法1
player.userName = '张三';
//写法2
player['userName'] = '李四';

修改方法的值

let area = {
    tip:console.warn('请输入相应的值。'),
    square: function(a,b){
        a = prompt('请输入宽:');
        b = prompt('请输入高:');
        are = a * b;
        return are;
    },
    //circle故意写错的
    circle:function(r){
        r = prompt('请输入半径:');
        area = r**2;
        return area;
    }
}

//写法1
area.circle = function(r){
	r = prompt('请输入半径:');
	area = r**2*Math.PI;
	return area;
}

//写法2
area['circle'] = function(r){
	r = prompt('请输入半径:');
	area = r**2*Math.PI;
	return area;
}

增加对象的值

提示

写法和查找一样

let player = {
    attackValue: 1000,
    bloodBar: 100,
    weapon: 'hand'
};

//写法1
player.userName = '张三';
//写法2
player['userName'] = '李四';

新增方法

let area = {
    tip:console.warn('请输入相应的值。'),
    square: function(a,b){
        a = prompt('请输入宽:');
        b = prompt('请输入高:');
        are = a * b;
        return are;
    },
    circle:function(r){
        r = prompt('请输入半径:');
        area = r**2*Math.PI;
        return area;
    }
}

//写法1
area.triangle = function(a,h){
    a = prompt('请输入底:');
    h = prompt('请输入高:');
    area = a * h / 2;
    return area;
}

//写法2
area['trapezium'] = function(a,b,h){
    a = prompt('请输入上底:');
    a = prompt('请输入下底:');
    h = prompt('请输入高:');
    area = (a+b) * h / 2;
    return area;
}

let bananas = {
    id = '32930ssikrjxn2',
	color:'yellow or green',
	price = 6,
	origin = '广东',
}

delete bananas.id;

内置对象

Math.max(a,b,c,……)  //一组数字中最大值
Math.min(a,b,c,……)  //一组数字中最小值
Math.abs(a)			//求a绝对值
Math.pow(底数,指数)  //求一个数的指数幂
Math.floor(a)	   //返回一个小于等于a,离a最近的整数
Math.floor(b)	   //返回一个大于等于b,离b最近的整数
Math.random()	   //返回一个介于0到1的小数

//注意:Math.min()和Math.max()如能直接找到,填数值替代
Math.floor(Math.random()*(Math.max() - Math.min() + 1)) + Math.min()		//返回介于Math.max()和Math.min()的随机整数,