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

网络推广是干嘛的可以做吗/中国seo排行榜

网络推广是干嘛的可以做吗,中国seo排行榜,烟花代码编程,qq推广链接生成this 到底是什么 this是在运行时绑定的,并不是在编写时绑定,他的上下文取决于函数调用时的各种条件,只取决于函数的调用方法。 当一个函数调用时,会创建一个执行上下文,这个上下文会包含函数的调用栈、函数的调用方法和…

this 到底是什么

this是在运行时绑定的,并不是在编写时绑定,他的上下文取决于函数调用时的各种条件,只取决于函数的调用方法。

当一个函数调用时,会创建一个执行上下文,这个上下文会包含函数的调用栈、函数的调用方法和传入的参数等信息。this就是执行上下文的一个属性,在函数的执行过程中用到。

this绑定的绑定

函数的执行过程中调用位置决定了this的绑定对象。

默认绑定

在非严格模式下函数的默认绑定为全局对象(浏览器中为window), 严格模式下的默认绑定为undefined

function foo(){console.log(this.a)
}
//变量a的声明默认为全局对象的一个属性
var a = 2;
//非严格模式下this指向了全局对象
foo() //2
复制代码

隐式的绑定

隐式的绑定的是指函数的调用位置是否有上下文对象,或者说是否被某个对象拥有或者包含。

function foo(){console.log(this.a)
}
var obj = {a:2,foo:foo
}
//foo函数执行过程中this默认绑定为obj对象。则 this.a=obj.a
obj.foo() // 2
复制代码

隐式丢失

隐式丢失指被隐式的绑定的函数会丢失绑定的对象,从而应用于默认绑定。

function foo(){console.log(this.a)
}
var obj = {a:2,foo:foo
}
var a = "zhang san"//a为全局对象的属性
var bar = obj.foo//将obj.foo引用的函数地址赋值给bar 从而导致bar引用的函数失去隐式绑定
bar()//zhang san//回调函数丢失this绑定式非常常见的
setTimeout(obj.foo, 100) //zhang san
复制代码

显示绑定

显示绑定是指利用call(...)apply(...)函数直接指定this的绑定对象。

function foo(){console.log(this.a)
}
var obj = {a:2,foo:foo
}foo.call(obj)//2
复制代码

硬绑定

硬绑定是一种显示的强制绑定


function foo(something){console.log(this.a,something)return this.a + something
}function bind(fn, obj){return function(){fun.apply(obj,arguments);}
}var obj = {a:2,
}
var bar = bind(foo, obj);
var b = bar(3);//2 3
console.log(b); //5复制代码

硬绑定是创建一个包裹函数, 传入所有的参数并返回接收到的所有值。 在ES5中提供了内置的方法Function.prototype.bind

function foo(something){console.log(this.a,something)return this.a + something
}var obj = {a:2,
}
var bar = foo.bind(obj);
var b = bar(3);//2 3
console.log(b); //5复制代码

new绑定

使用new来调用函数或者说是发生构造函数调用时,会自动执行下面的操作:

  1. 创建一个全新的对象。
  2. 这个新的对象会被执行原型链接。
  3. 这个新对像会绑定到函数调用的this。
  4. 如果函数没有返回其他对象,那么new表达式中的函数调用会自动返回这个新的对象。

function foo(a){this.a = a;
}
var bar = new foo(2);
console.log(bar.a); //2
复制代码

##优先级 new绑定 > 显示绑定 > 隐式的绑定 > 默认绑定

判断this

  1. new调用?绑定到新创建的对象。
  2. call或者apply (或者bind)调用?绑定到指定的对象。
  3. 由上下文对象调用?绑定到那个上下文对象。
  4. 默认:在严格模式下绑定到undefined,否则绑定到全局对象。

转载于:https://juejin.im/post/5b9ca14bf265da0ab8736dce

http://www.lbrq.cn/news/1364275.html

相关文章:

  • 留白的网站/淘宝指数转换工具
  • 大连网站设计哪个最好/官方网站怎么查询
  • 乌克兰集团网站建设/网站关键词优化方案
  • 深圳市光明建设发展集团网站/百度sem
  • 做软装什么网站可以/站长工具如何使用
  • 全站搜索/it培训机构排行榜
  • 做网站云服务期/如何做网销
  • 自己怎么弄网站/5000人朋友圈推广多少钱
  • 网站备案成功后可以改吗/磁力猫搜索引擎入口官网
  • 自媒体自助下单网站怎么做/2023年新闻小学生摘抄
  • 东莞网站制作网站设计/百度开户代理商
  • 微信做自己的网站/掌门一对一辅导官网
  • wordpress 角色管理/电影站的seo
  • 手机外贸网站建设/网站免费制作
  • 免费建设一个可以访问的网站/百度网址大全旧版本
  • 国外做文化的网站/优化提升
  • 用安卓手机做网站主机/个人如何做网络推广
  • 网站定位/云优化seo软件
  • 网站建设成功案例宣传/网店网络推广方案
  • 新加坡最近疫情/谷歌seo网站建设
  • 郑州建站费用/seo工程师
  • php在网站后台建设中的优势/做个网页价格多少
  • 网站居中css代码/销售方案怎么做
  • 无为住建设局网站/企业网站推广注意事项
  • wordpress如何关闭评论功能/合肥seo网络优化公司
  • 济南网站建设公司哪个好点呢/可以推广发广告的app
  • 河南省建设协会网站/公司网络推广方案
  • 外卖网站设计/百度站长平台链接提交
  • 缩我短链接生成器/东莞seo建站
  • 池州市建设工程造价管理网站/微信管理系统软件
  • FreeRTOS源码分析二:task启动(RISCV架构)
  • 对于考研数学的理解
  • Agents-SDK智能体开发[4]之集成MCP入门
  • Next.js 怎么使用 Chakra UI
  • stm32是如何实现电源控制的?
  • Linux 内存管理之 Rmap 反向映射