永发信息网

js中的this怎么用?

答案:1  悬赏:40  手机版
解决时间 2021-02-25 11:41
js中的this怎么用?
最佳答案
一般this出现在函数里时,只有在函数执行时才能确定this是什么,因为this是指那个调用这个函数的对象。比如说有如下方法:
function test(){
alert(this.length);
}
则,如下调用:
var str = new String(“test”);
str.test = test;
str.test();
此时的this就是字符串str,则调用过程弹出this的长度,实际就是弹出这里的str的长度,所以结果是4.
而如果是下面的调用:
var arr = new Array(1,2,3,4,5,6);
arr.test = test;
arr.test();
则这里的this就是arr这个数组,相应的弹出的就是数组arr的长度,也就是6.

而当没有对象来调用这个函数,即直接调用时,如下:
test();
因为在js中,全局的定义默认都是window的属性或对象,所以这里的调用,实际上是如下调用:
window.test();
window的length为0.则弹出的就是0.如果你定义了一个length,比如如下调用:
var length = 10;
test();
则弹出的就是10了。因为全局的定义一个length,实际相当于给window添加或重写了一个属性length。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
人工合成元素有什么意义
朝阳县农村信用合作联社大庙信用社地址有知道
怎么把乖离性百万亚瑟王手机帐号在pc上登录
拨打号码时怎么才能让手机不播报号码
从烟台的牟平区到黄务远吗?大概要多长时间?
手机银行转账,卡号和开户名对,开户行错误,
烟竹坝地址在什么地方,想过去办事
乐淘淘母婴用品店地址在什么地方,想过去办事
解答题目前在世界许多地区发生的禽流感,是由
(5.5十y)/3二x怎么解
1900年 100美元 钱币 我有一个1900年的100美
招财网名大全
卫生综合超市在什么地方啊,我要过去处理事情
要10个访问句和改成的陈述句
被黑留学中介坑了,投诉无门,该怎么办
推荐资讯
如果一个人跑了,跑其它地方了,怎么样才能找
SADES赛德斯烽影鼠标怎么样,好吗
我要怎么回答他
嘟嘟熊画室地址有知道的么?有点事想过去
从初中到毕业一共有几年
我的华硕顽石4代笔记本开机卡,玩游戏也卡,
手机充电器能改成变压器听半导体吗?怎么改?
黑种人的性能力是最强的吗
王老师小升初这个地址在什么地方,我要处理点
你好,我现在的公司是今年2月份进入,4月份签
谁知道有一种来电铃声是狼叫的声音
注册ViV0会员有什么用
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?