<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
</html>
<script type="text/javascript">
//1.对象的直接量
/*
{
属性1:属性值1,
属性2:属性值2,
....
}
*/
p1 = {
name:'小明',
age: 18,
gender:'男'
}
p2 = {
name:'张三',
age: 20,
gender:'女'
}
//2.构造方法(相当于类)
/*
构造方法本质就是函数。
语法:
function 函数名/类名(参数列表){
this.属性1 = 值1
this.属性2 = 值2
...
return this
}
构造方法的调用(创建对象): new 函数名()
*/
function Person(name, age, gender='男'){
//===对象属性====
this.name = name
this.age = age
this.gender = gender
//===对象方法====
this.eat = function(food){
console.log(this.name+'在吃'+food)
}
this.study = function(){
console.log(this.name+'在学习')
}
return this
}
p3 = new Person('小红', 20)
p4 = new Person('Tom', 30, '女')
console.log(p1)
console.log(p3)
console.log(p4)
//3.使用对象属性 - 查
//对象.属性
//对象[属性名]
console.log(p1.name, p1['age'])
console.log(p3.name, p3['age'])
p3.eat('面条')
p4.eat('面包')
p4.study()
//4.修改对象属性/添加对象属性
//对象.属性 = 值 - 属性如果存在就是修改,属性不存在就是添加
//对象[属性名] = 值 - 属性如果存在就是修改,属性不存在就是添加
p3.id = '0001'
console.log(p3)
console.log(p3.id, p3['id'])
p3['weight'] = 100
console.log(p3)
p3.name = '余婷'
p3['age'] = 18
console.log(p3)
console.log(p4)
//5.添加属性和方法
/*
类名.prototype.属性名 = 值 - 给指定的类添加属性和方法
*/
Person.prototype.abc = 100
console.log(p4.abc, p4['abc'])
p5 = new Person('大黄', 3)
console.log(p5.abc)
String.prototype.ytToUpper = function(){
//'a' <= char <= 'z'(python) -> char >= 'a' && char <= 'z'
tChar = this[0]
if(tChar>='a' && tChar <= 'z'){
return tChar.toUpperCase()+this.slice(1)
}
return this
}
str1 = 'abc'
console.log(str1.ytToUpper())
</script>
网友评论