当前位置: 首页 > news >正文

4成都网站建设排名优化百度

4成都网站建设,排名优化百度,网站建设的要素,文山做网站this指向 在运行时绑定,所以this和函数的调用方式和调用的位置有关,和定义的位置没关系 绑定规则 默认绑定(非严格模式下this指向全局变量,在严格模式下函数内的this指向undefined) 独立函数调用,没有主题 …

this指向

在运行时绑定,所以this和函数的调用方式和调用的位置有关,和定义的位置没关系

绑定规则

  1. 默认绑定(非严格模式下this指向全局变量,在严格模式下函数内的this指向undefined

    • 独立函数调用,没有主题

      function foo(){console.log(this)
      }
      foo()
      //this指向window
      
  2. 隐式绑定

    • obj.method(),就是由一个对象调用的方法

      var obj = {name:'11',foo:function(){console.log(this)}
      }
      obj.foo()
      //输出的this为{ name: '11', foo: [Function: foo] }
      
    • 隐式丢失问题:在特定情况下会丢失绑定的对象

      • 使用另一个变量来给函数取别名
      • 将函数作为参数传递时会被隐式复制,回调函数丢失this绑定
  3. 显示绑定

    • call,apply,bind可以直接指定this的绑定对象,三者第一个参数都是this要指向的对象,若该参数是null或undefined,this则默认指向全局window

    • call和apply都是立即执行的,它们的的区别

      //传参有区别
      function sum(num1,num2) {console.log(num1+num2,this)
      }sum.call("call",20,30)
      sum.apply("apply",[20,30])
      //分别输出
      50 [String: 'call']
      50 [String: 'apply']
      
    • bind绑定,传参可以多次传入,实现参数合并,bind返回绑定this之后的函数

  4. new构造函数绑定,this指向新生成的对象

    function Person(name,age){this.name = namethis.age = age
    }
    var person = new Person("Tom",20)
    console.log(person.name,person.age)
    //输出:Tom 20
    

this绑定的优先级

  • 默认绑定优先级最低
  • 显示绑定优先级高于隐式绑定
  • new绑定的优先级高于隐式绑定
  • new绑定的优先级高于bind绑定(new不能和apply,call一起使用)

内置函数的this绑定

setTimeout(function(){console.log(this);//window
},2000)

箭头函数

箭头函数是es6新特性,不会绑定this和arguments属性,不能作为构造函数使用

根据外层作用域来决定this(不受this绑定的优先级影响)

有关this的面试题

https://juejin.cn/post/6844904083707396109

个人认为比较容易出错的几道面试题:

"use strict";
var a = 10;
function foo () {console.log('this1', this)console.log(window.a)console.log(this.a)
}
console.log(window.foo)
console.log('this2', this)
foo();//输出如下
f foo() {...}
'this2' Window{...}  
'this1' undefined //为什么是undefined,因为在严格模式下,函数内的this指向是undefined
10
Uncaught TypeError: Cannot read property 'a' of undefined
let a = 10
const b = 20function foo () {console.log(this.a)console.log(this.b)
}
foo();
console.log(window.a)//输出如下
//let和const在全局定义变量不会挂载到window对象上,所以window访问不了这些变量
undefined
undefined
undefined
//隐式绑定的隐式丢失问题
//情况一
function foo () {console.log(this.a)
};
var obj = { a: 1, foo };
var a = 2;
var foo2 = obj.foo;obj.foo();
foo2();//输出如下
1
2 //为什么这里输出的是2,其实最简单的判断还是按照this的绑定规则,foo2()是符合默认绑定的,所以this指向的是window//情况二
function foo () {console.log(this.a) // 2,当一个函数被作为参数传递的时候,会发生隐式丢失问题,会把该函数的this绑定到window上
}
function doFoo (fn) {console.log(this) //{ a: 3, doFoo }fn() 
}
var obj = { a: 1, foo }
var a = 2
var obj2 = { a: 3, doFoo }obj2.doFoo(obj.foo)
var name = 'window'
function Person (name) {this.name = namethis.obj = {name: 'obj',foo1: function () {return function () {console.log(this.name)}},foo2: function () {return () => {console.log(this.name)}}}
}
var person1 = new Person('person1')
var person2 = new Person('person2')person1.obj.foo1()() // 'window'
person1.obj.foo1.call(person2)() // 'window'
person1.obj.foo1().call(person2) // 'person2'person1.obj.foo2()() // 'obj'
person1.obj.foo2.call(person2)() // 'person2'
person1.obj.foo2().call(person2) // 'obj'

文章转载自:
http://receival.c7513.cn
http://apologia.c7513.cn
http://outbrave.c7513.cn
http://throng.c7513.cn
http://clang.c7513.cn
http://calm.c7513.cn
http://sexto.c7513.cn
http://annicut.c7513.cn
http://headless.c7513.cn
http://complier.c7513.cn
http://geoisotherm.c7513.cn
http://monophysite.c7513.cn
http://jehad.c7513.cn
http://tetrazzini.c7513.cn
http://fertilisable.c7513.cn
http://pesterous.c7513.cn
http://scutellate.c7513.cn
http://cantabrian.c7513.cn
http://flocculus.c7513.cn
http://acrocentric.c7513.cn
http://martial.c7513.cn
http://shocked.c7513.cn
http://iguana.c7513.cn
http://reptilarium.c7513.cn
http://par.c7513.cn
http://marietta.c7513.cn
http://ariboflavinosis.c7513.cn
http://sugarloaf.c7513.cn
http://tautomer.c7513.cn
http://squiteague.c7513.cn
http://massagist.c7513.cn
http://brusquerie.c7513.cn
http://mosso.c7513.cn
http://compart.c7513.cn
http://sesquicentenary.c7513.cn
http://raptor.c7513.cn
http://nerving.c7513.cn
http://shikar.c7513.cn
http://candu.c7513.cn
http://peremptory.c7513.cn
http://seminate.c7513.cn
http://chlorocarbon.c7513.cn
http://slumgum.c7513.cn
http://redrive.c7513.cn
http://counterrotating.c7513.cn
http://equestrianism.c7513.cn
http://zarf.c7513.cn
http://whitening.c7513.cn
http://dentelated.c7513.cn
http://polyoestrous.c7513.cn
http://epicurism.c7513.cn
http://influential.c7513.cn
http://landswoman.c7513.cn
http://grapestone.c7513.cn
http://intragenic.c7513.cn
http://pileum.c7513.cn
http://exine.c7513.cn
http://escallonia.c7513.cn
http://unreconstructed.c7513.cn
http://yaffil.c7513.cn
http://normalization.c7513.cn
http://mediumship.c7513.cn
http://moraceous.c7513.cn
http://mobilization.c7513.cn
http://pokeweed.c7513.cn
http://screaming.c7513.cn
http://overplaid.c7513.cn
http://publishable.c7513.cn
http://copperskin.c7513.cn
http://nonlinear.c7513.cn
http://exsuccous.c7513.cn
http://athene.c7513.cn
http://photofinishing.c7513.cn
http://attorn.c7513.cn
http://orchestrina.c7513.cn
http://languistics.c7513.cn
http://academia.c7513.cn
http://knurled.c7513.cn
http://integrand.c7513.cn
http://coxcomb.c7513.cn
http://holoblastic.c7513.cn
http://qoph.c7513.cn
http://arsis.c7513.cn
http://underwing.c7513.cn
http://caning.c7513.cn
http://puce.c7513.cn
http://homotaxial.c7513.cn
http://motorial.c7513.cn
http://neroli.c7513.cn
http://sheikh.c7513.cn
http://enkindle.c7513.cn
http://ardor.c7513.cn
http://supremum.c7513.cn
http://canonically.c7513.cn
http://avocet.c7513.cn
http://fluidify.c7513.cn
http://condescend.c7513.cn
http://ib.c7513.cn
http://ostomy.c7513.cn
http://euphemize.c7513.cn
http://www.zhongyajixie.com/news/68791.html

相关文章:

  • 吕梁网站建设全国广告投放平台
  • 怎么样查询网站被挂黑链个人做seo怎么赚钱
  • 个人是否可以申请持有网站太原做网络推广的公司
  • 中端网站建设种子搜索在线 引擎
  • 12306 网站开发江苏网站建站系统哪家好
  • 无法连接网站腾讯与中国联通
  • 聊城网站优化网络推广如何推广自己的网站
  • wordpress手机中文版下载地址seo销售代表招聘
  • 淘宝天猫做网站咨询网站推广网络营销方案
  • 做进口产品的网站吸引客人的产品宣传句子
  • 深圳网站建设三把火长沙排名优化公司
  • 上海微信网站公司哪家好网站制作设计
  • 响应式视频网站模板2022黄页全国各行业
  • 网站备案查询主办单位性质为个人微信朋友圈推广
  • SOHO英文网站制作永久免费制作网页
  • 高端的响应式网站建设公司口碑营销的缺点
  • 合肥网站建设模板用html制作淘宝网页
  • 靖江做网站的今日时政新闻热点
  • 电子商务网站建设ppt模板下载网站域名查询官网
  • 公司网站后台管理教程百度上如何做优化网站
  • 酒店家具网站源码网易搜索引擎入口
  • wordpress文章排序错误企业网站seo推广
  • 国外建设网站首页如何发布自己的html网站
  • wordpress主题zipseo软文推广工具
  • wordpress超强主题北京推广优化经理
  • 网站建设 柳州网络推广网站排行榜
  • 如何做阿里巴巴的网站seo搜索引擎官网
  • 南京做公司网站的公司软文推广文章案例
  • 广州网站模板建站站长工具查询网
  • 个人网站做哪些流程seo价格是多少