首页 > 编程语言 >JavaScript的this指向

JavaScript的this指向

时间:2022-11-24 17:12:51浏览次数:36  
标签:arr 指向 show JavaScript myName let fn

1、结论:js中的this 是当前方法所属的对象

 

'use strict'
let obj = {
  name:'taotao',
  myName(){
     return this
  }  
}

console.log(obj.myName())   // {name: 'taotao', myName: ƒ}


function show(){
console.log(this)
}

//直接调用非严格模式下输出 window,严格模式下 undefined   
show();

//如果把函数挂载到一个对象上,this 是这个对象
let arr = [1,2,3]
arr.fn = show;
arr.fn()   // [1,2,3,fn]


//放到定时函数上,是Windows
setTimeout(show,1111)

//使用call指定,当前的this
let str1 = 11111
show.call(str1)


//自定义循环函数
let arr2 = [1,2,3,4,5,6]
arr2.selfFunc = function(callback,other){
for(let i = 0 ;i<this.length;i++){
    callback.call(other, arr2[i]);
}
    
}


arr2.selfFunc(function(val){
    console.log(this, val) 
},9999)

 

 

 

标签:arr,指向,show,JavaScript,myName,let,fn
From: https://www.cnblogs.com/qutao125/p/16922476.html

相关文章

  • javascript:void() 和 herf="#" 区别
    javascript:void(0)和herf="#"区别本文内容参考菜鸟教程(大部分都是原文内容)原文地址javascript:void(0)的含义我们经常会使用到javascript:void(0)这样的代码......
  • 在JavaScript中使用filter()的4个实用案例
    英文| https://medium.com/javascript-in-plain-english/4-practical-use-cases-of-using-filter-in-javascript-db46e2ec83b2翻译|web前端开发创建一个包含给定数组元......
  • 9 个功能强大的 JavaScript 技巧
    英文|https://dev.to/razgandeanu/9-extremely-powerful-javascript-hacks-4g3p​1、全部替换我们知道string.replace() 函数仅替换第一次出现的情况。你可以通过在正则......
  • JavaScript 面向对象(五)原型链
     5.原型链prototype原型'每一个构造函数都有一个属性叫做prototype,指向一个对象,'当这个构造函数被new的时候,它的每一个实例(即将生成的对象)的__proto__属性,也指向......
  • JavaScript 面向对象(番外)JS字面量
    javascript字面量在JavaScript里面,字面量包括:字符串字面量(stringliteral)、数组字面量(arrayliteral)和对象字面量(objectliteral),另外还有函数字面量(function......
  • JavaScript 面向对象(一)对象
    字面量’字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量。字面量分为字符串字面量(stringliteral)、数组字面量(arrayliteral)和对......
  • JavaScript--href调用JS方法和href="#"与href="javascript:void(0)"
    关于href属性<a>标签的href属性用于指定超链接目标的URL。超链接的URL可能的值:绝对URL-指向另一个站点(比如href="http://www.example.com/index.htm")相......
  • JavaScript 面向对象 番外笔记
    小笔记JS输出空格解决方法:1、使用输出html标签 document.write("&nbsp;&nbsp;"+"1"+"&nbsp;&nbsp;&nbsp;&nbsp;"+"23");结果:1232、使用CSS样式document.w......
  • JavaScript 面向对象(番外)JS原始类型和引用类型
    书摘来自异步社区《JavaScript面向对象精要》一书中的第1章,第1.1节第1章原始类型和引用类型大多数开发者在使用Java或C#等基于类的语言的过程中学会了面向对象编程。由......
  • JavaScript 面向对象 番外 Object.defineProperty()
     注意,如果描述符中的某些属性被省略,会使用以下默认规则: ......