一些js笔记

function user(name){
    this.name=name
}
user.prototype.show=function(){
    console.log(this.name)
}
var u1=new user("张三")

instanceof 用于判断变量的类型
console.log(u1 instanceof user)       true
isPrototypeOf() 检测当前对象是否是基于对应构造函数创建出来的
var t=user.prototype.isPrototypeOf(u1)
console.log(t)             true

判断属性方法
hasOwnProperty() 判断当前的属性和方法是否源于对象构造函数内部
var r=u1.hasOwnProperty("show")
console.log(r)      false
in 判断当前对象是否具有对应属性和方法  通常用于 代码得健壮性
var r1="show" in u1
console.log(r1)          true
编写一个方法:传入两个参数 key  对象,判断当前key是否在对象得原型中,如果在返回真 ,不再返回false
function hasOwnprototype(key,obj){
    return key in obj && obj.hasOwnProperty(key)==false
}
var r2=hasOwnprototype("show",u1)
console.log(r2)      true

改变this的指向性call和apply
function user(name,age){
    this.name=name
    this.age=age
}
user.prototype.show=function(){
    console.log(this.name)
}
user.prototype.abc=function(a,b,c){
    console.log(this.name+a+b+c)
}
var u1=new user("张三",23)
var u2=new user("李四",35)
call() 第一个参数 改变的对象 后续参数传入方法对应的参数
u1.show.call(u2)      李四
u1.abc.call(u2,1,3,5)    李四135
apply() 第一个参数 改变的对象 第二个参数[ ]放入参数列表
u1.show.apply(u2)         李四
u1.abc.apply(u2,[1,3,5])       李四135
Math.max()用于输出一组数据中的最大值
var result=Math.max(3,34,6,8,5)
console.log(result)
求数组中的最大值 apply用法
var arr=[1,3,5,7,9]
var result=Math.max.apply(null,arr)
console.log(result)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值