function bark() {
console.log('holle')
}
bark.anianl = 'woll'
// 以上代码是可以的,因为在js中函数也是对象
function Person(filaName, lastName) {
this.filaName = filaName
this.lastName = lastName
}
const member = new Person()
Person.getFullName = function() {
return `${this.filaName} ${this.lastName}`
}
console.log(member.getFullName) //TypeError
// 不能像常规函数那样给构造函数添加属性,如果想一次性给实例添加特性应该使用原型
Person.prototype.getFullName = function(){
}
function checkAge(data) {
if (data === { age: 18 }) {
console.log('You are an adult!')
} else if (data == { age: 18 }) {
console.log('You are still an adult.')
} else {
console.log(`Hmm.. You don't have an age I guess`)
}
}
checkAge({ age: 18 })
// 在比较相等性时,基本数据类型通过value相比较,而对象则是通过引用比较,js中检测的是对对象相同地址的引用
// 题目中我们正在比较的两个对象不是同一个引用:作为参数传递的对象引用的内存位置,与用于判断相等的对象所引用的内存位置并不同