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

怎样写企业网站建设方案保姆seo教程

怎样写企业网站建设方案,保姆seo教程,兴义住房和城乡建设局网站,wap网站和app开发本系列内容为JS全解析,为千锋教育资深前端老师独家创作 致力于为大家讲解清晰JavaScript相关知识点,含有丰富的代码案例及讲解。如果感觉对大家有帮助的话,可以【点个关注】持续追更~ this指向(掌握) this 是一个关…

在这里插入图片描述
本系列内容为JS全解析,为千锋教育资深前端老师独家创作

致力于为大家讲解清晰JavaScript相关知识点,含有丰富的代码案例及讲解。如果感觉对大家有帮助的话,可以【点个关注】持续追更~

this指向(掌握)

this 是一个关键字,是一个使用在作用域内的关键字

作用域分为全局作用域和局部作用域(私有作用域或者函数作用域)

全局作用域

全局作用域中this指向window

局部作用域

函数内的 this, 和 函数如何定义没有关系, 和 函数在哪定义也没有关系,只看函数是如何被调用的(箭头函数除外)

可分为以下场景:

普通函数中调用

普通函数中的this和全局调用一样,this指向window

语法:函数名()

<script>// 全局使用 this console.log(this) //window console.log(window) //window console.log(window === this) //true //普通函数调用 function fn() { console.log('我是全局 fn 函数') console.log(this) //window } fn() 
</script>

对象(包含数组)中调用

该函数内的 this 指向 前面的内容,也就是那个对象或者数组

语法:

对象名.函数名()*

对象名

<script> //对象函数调用 function fn() { console.log(this) //{fun: ƒ} } var obj = { fun: fn } obj.fun() obj['fun']() 
</script>

定时器处理函数中调用

定时器中的this同样也是指向window

<script> // 定时器处理函数 setTimeout(function() { console.log(this); //window }, 1000) 
</script>

事件处理程序中调用

事件处理程序中的this指向的是事件源

<!DOCTYPE html> 
<html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0">        <title>Document</title> <style> div { width: 200px; height: 200px; background-color: red; } </style> 
</head> <body> <div>hello world</div> <script> var res = document.querySelector('div') res.onclick = function() { console.log(this); //<div></div>} </script> 
</body> </html>

自执行函数中调用

●自执行函数中的this也指向window

<script> (function() { console.log(this); //window })() 
</script>

强行改变this指向

通过上面的学习大家知道,this在不同的情况指向是不同的,但是有时候需要指向一个制定的对象,这就需要改变this的指向

可以理解成不管之前指向哪里,现在我让你指向哪里你就要指向哪里

强行改变this指向的方式可以通过call、apply和bind来改变

call调用

作用:改变函数内部this的指向

语法:

函数名.call()

对象名.函数名.call(参数1,参数2,参数3…)

参数:

○第一个参数是this要指向的对象

○从第二个参数开始,依次给函数传递实参

特点: 会立即调用函数或者说立即执行

<script> function fn(a, b) { console.group('fn 函数内的 打印') console.log('this : ', this) console.log('a : ', a) console.log('b : ', b) console.groupEnd() } var obj = { name: '我是 obj 对象' } var arr = [100, 200, 300, 400, 500] // 用 call 调用 fn.call(obj, 100, 200) fn.call(arr, 1000, 2000) /* this : {name: '我是 obj 对象'} a : 100 b : 200 fn 函数内的 打印 this : (5) [100, 200, 300, 400, 500] a : 1000 b : 2000 */ 
</script>

apply调用

作用: 改变函数内部this的指向

语法:

○函数名.apply()
○对象名.函数名.apply(参数1,[参数2,参数3…])

参数:

○第一个参数是this要指向的对象

○第二参数的一个数组,要传递的实参要放到数组里面,就是有一个实参也要放到数组里面

特点: 会立即调用函数或者说立即执行

<script> function fn(a, b) { console.group('fn 函数内的 打印') console.log('this : ', this) console.log('a : ', a) console.log('b : ', b) console.groupEnd() } var obj = { name: '我是 obj 对象' } var arr = [100, 200, 300, 400, 500] // 用 apply 调用 fn.apply(obj, [100, 200]) fn.apply(arr, [1000, 2000]) /* fn 函数内的 打印 this : {name: '我是 obj 对象'} a : 100 b : 200 fn 函数内的 打印 this : (5) [100, 200, 300, 400, 500] a : 1000 b : 2000 */ 
</script>

bind调用

作用: 改变函数内部this的指向

语法:

函数名.bind()

对象名.函数名.bind(参数1,参数2,参数3...)

参数:

第一个参数是this要指向的对象

从第二个参数开始,依次给函数传递实参

特点: 函数不会立即调用,会返回一个改变this指向以后的函数,使用的时候需要调用

<script> function fn(a, b) { console.group('fn 函数内的 打印') console.log('this : ', this) console.log('a : ', a) console.log('b : ', b) console.groupEnd() } var obj = { name: '我是 obj 对象' } var arr = [100, 200, 300, 400, 500] // 用 bind 调用 // 注意: 因为是 bind, 不会把 fn 函数执行, 而是把 fn // res 接受的就是 bind 方法复制出来的 fn 函数, 和 fn var res = fn.bind(obj, 100, 200) var res1 = fn.bind(arr, 1000, 2000) res() res1() /* fn 函数内的 打印 this : {name: '我是 obj 对象'} a : 100 b : 200 fn 函数内的 打印 this : (5) [100, 200, 300, 400, 500] a : 1000 b : 2000 */ 
</script>

以上即为JS中this指向的一些基础知识点,更多技术干货、知识技巧可以关注我们!有不清楚的问题也可以在评论区交流讨论,也可以私信小千~

http://www.yayakq.cn/news/236788/

相关文章:

  • 网站登陆界面怎么做网站建设的技术保证怎么写
  • 重庆企业品牌网站建设怎么做自己的网站后台教程
  • 关于网站制作的评价企业网站建设开发公司
  • 网站和网页有什么区别wordpress安装532
  • 雄县哪做网站定制网站系统
  • 北京上云网站建设公司做网站wamp和xamp
  • 怎么做样网站沈阳蓝德网站建设
  • 衡水制作网站内容营销的重要性
  • 企业门户网站建设方案书枣庄网站建设费用
  • 苏州园区网站制作公司自己的网站如何做分销
  • 沈阳世纪兴网站制作公司网站建设广州天河区
  • 网站开发 自动填写表单网页设计html代码大全唐代诗人
  • 南京做网站的公司有哪些高新网站设计找哪家
  • 做一个网站需要怎么做图片版小说网站源码
  • 中国建设银行报名网站网站运作模式
  • 什么网站可以发布信息做模型的网站有哪些
  • 类似稿定设计的网站怎么做盗文网站
  • 基于jsp的社团组织网站建设游戏平台搭建
  • 租号网站建设网站怎么进入
  • 门户网站建设公司市场深圳新增130例
  • 旅游网站建设课程设计报告wordpress cms原创
  • 温州制作企业网站网站建站开发
  • 网站建设的工期拖延如何解决为什么都说2024年房价降
  • 免费word模板下载哪个网站橱柜企业网站模板
  • 大气网站设计2017做哪些网站能致富
  • 广州个人网站建设公司宁夏微信服务网站
  • 生活服务网站建设重庆安全员c证查询官网
  • 搜索引擎网站推广怎么做360建筑网撤销挂证
  • 有哪个网站可以学做吃的wordpress安装图片不显示
  • 网站建设需要几个部门荣成城乡建设局网站