首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS数据类型、数组、this指向复习

一、JavaScript数据类型 基本数据类型 number (特殊NaN) NaN:not a number Infinity boolean:true,false或者可以隐式转换在true或false...的类型 能转换成false只有以下几种情况:0,空串,null,undinfed,NaN,false string:用’'或"",或``定义的字符 var str='abcd' var str2="...,代表定义的变量值的唯一性 引用数据类型(复杂数据类型) Object,Array,Function,RegExp,String 对象类型可以添加属性 检测对象是否是对象自身的属性:hasOwnProperty...Math.min.apply(Math,arr) Math.min.call(Math,…arr) Math.max.call(Math,…arr) Math.min() 取小值 五、this指向.../ let _this=this; setTimeout(()=> { console.log(this===btn) },0) } 总结:this通常是谁调用,this指向

1.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    this的指向

    This的指向问题一直是JavaScript的一大核心,很多人都是觉得了解了,但是又模模糊糊。简单概括就是,this的指向永远是指向调用这个this的对象。下面介绍几个本人理解的this指向问题。...var a = 10; console.log(this.a); alert(this.a); 这是最简单的this指向问题,console.log()和alert()是两个函数,是window的函数...var a = 10; window.console.log(this.a); window.alert(this.a); 所以调用函数的对象是window,this也就是指向window。...b: function () { console.log(this.a); } }; obj.b(); 可以看见,b方法是对象obj里面的方法,那么调用b方法的对象就是obj,这时的this指向就是指向...接下来就是改变this指向的两个方法,call和apply,两个都是改变this的指向,只是参数不同,两个方法的第一个参数都是想要改变this指向的对象,call除了第一个参数外,剩下的都是方法的参数,

    91920

    域名隐藏指向和非隐藏指向有何不同

    我们在注册一些免费域名或者使用多个域名的时候,经常会遇到域名指向的问题。域名指向有隐藏性和非隐藏性两种类型。...隐藏指向和非隐藏指向都可以将与名指向到客户指定的已经可以访问的网站,但是这两种指向方式还是存在不一样的地方。 域名指向有什么用?...例如您已经注册了yiqixue.net ,但是并没有使用这个域名建站,只希望这个域名指向到已经可以正常使用的一个网站的子目录,就可以使用域名指向的功能来实现。 域名隐藏指向和非隐藏指向有何不同?...例如域名 www.yiqixue.net  要指向到已经可以访问的 http://www.hcm602.cn 使用域名隐藏操作的结果: 在IE地址栏输入: https://www.cmhello.com

    3K30

    函数内部的this指向

    2.this 2.1函数内部的this指向 这些 this 的指向,是当我们调用函数的时候确定的。调用方式的不同决定了this 的指向不同 一般指向我们的调用者. ?...2.2改变函数内部 this 指向 2.2.1 call方法 call()方法调用一个对象。简单理解为调用函数的方式,但是它可以改变函数的 this 指向 应用场景: 经常做继承....简单理解为调用函数的方式,但是它可以改变函数的 this 指向。...2.2.4 call、apply、bind三者的异同 共同点 : 都可以改变this指向 不同点: call 和 apply 会调用函数, 并且改变函数内部this指向....比如借助于数学对象实现数组最大值最小值 bind 不调用函数,但是还想改变this指向. 比如改变定时器内部的this指向.

    1.7K30

    你真的懂this指向

    先搞清楚一点,如果this在函数里面,那么它指向的是“函数执行后”的上一级调用对象。...var a="this is a"; function main() { console.log(this.a)//这里this指向window. } main()//这里相当于...o,因为你调用这个say是通过o.say()执行的,那自然指向就是对象o,这里再次强调一点,this的指向在函数创建的时候是决定不了的,在调用的时候才能决定,谁调用的就指向谁,一定要搞清楚这个。...:“maomin”,say1:function(){console.log(this.name);//maomin}}window.o.say1();// 上面几行代码和之前的代码几乎相似,为什么没有指向...window,这就回到了我刚开始说的,this如果在函数内,那么它指向的是该函数执行后的上一级调用对象。

    56120

    JavaScript this的指向

    JavaScript 中this取什么值,是在函数真正被调用执行的时候确定的,函数定义的时候确定不了,因为this的取值是执行上下文环境的一部分,每次调用函数,都会产生一个新的执行上下文环境 this作为普通函数,指向...window function fn1() { console.log(this) } fn1() // window 使用call() apply() bind(),指向第一个参数 fn1.call...({x: 100}) // 指向第一个参数 {x: 100} 作为对象方法被调用,指向调用该方法的对象 const niangao = { name: '年糕', sayHi() { /...// setTimeout是作为普通函数去执行,而不是作为niangao.wait()去执行 console.log(this) }) } } 在class方法中被调用,指向实例对象...} eat() { console.log(this) } } const niangao = new Food('年糕') niangao.eat() // Food{} 箭头函数,指向上级作用域的

    79331

    Javascript中的this指向

    1 全局环境下 在全局环境下,this 始终指向全局对象(window), 无论是否严格模式 console.log(this.document === document); // true // 在浏览器中...this === window); // true this.a = 37; console.log(window.a); // 37 2 函数上下文中 2.1 函数直接调用 非严格模式下,this 默认指向全局对象...; 多层嵌套的对象,内部方法的this指向离被调用函数最近的对象(window也是对象,其内部对象调用方法的this指向内部对象, 而非window); function independent() {...: independent, prop: 42 }; // 嵌套调用 console.log(o.b.g()); // logs 42 2.3 原型链中方法的this 原型链中的方法的this仍然指向调用它的对象...DOM元素; 当this没有传入内联处理函数时,其this指向等同于 函数直接调用的情况,即在非严格模式指向全局对象window, 在严格模式指向undefined; <button onclick="

    92300
    领券