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

discuz!网站模板国家建设标准发布网站在哪里

discuz!网站模板,国家建设标准发布网站在哪里,查看wordpress版本,芜湖建设公司网站全局变量常常定义在函数外,具有全局定义域,在整个js代码的任何地方都可以使用,这个就叫全局变量局部变量定义在函数内部,只在当前函数的定义域可以被使用,而且不同的函数可以定义相同的局部变量,他们之间相…

全局变量

常常定义在函数外,具有全局定义域,在整个js代码的任何地方都可以使用,这个就叫全局变量

局部变量

定义在函数内部,只在当前函数的定义域可以被使用,而且不同的函数可以定义相同的局部变量,他们之间相互没有关系,互不干扰,函数像酒店房间,而局部变量像入住的客人,只能在自己的房间活动,不能影响其他房间。

在今天写轮播图的时候我们需要写一段代码是当鼠标经过轮播图的时候,轮播图停止自动播放,而当鼠标离开轮播图时,轮播图继续自动播放,在这段代码中我一直无法实现这个功能,后来检查代码发现时因为全局变量和局部变量使用不妥,在命名定时器时,我在函数内命名,使其只能在该函数里使用,所以后面的代码无法实现,这个问题也会成为我们写代码时难以注意到的一个小问题。

 function time() {i++;img.src = sliderData[i].urlp.innerHTML = sliderData[i].titlefooter.backgroundColor = sliderData[i].colordocument.querySelector('.slider-indicator .active').classList.remove('active')document.querySelector(`.slider-indicator li:nth-child(${i + 1})`).classList.add('active')if (i === sliderData.length - 1) {i = -1;}}let timerId = setInterval(time, 1000)box.addEventListener('mouseenter', function () {clearInterval(timerId)})box.addEventListener('mouseleave', function () {timerId = setInterval(time, 1000)})

let和const

这俩个关键字也许我们细细品味,let用来定义变量而const用来定义常量,也就是let定义的变量还可以重新赋值,而const定义的常量不可重新赋值。

在随机点名案例中,我们按开始按钮,定时器函数开始运行,而按停止按钮,定时器停止,删除抽到的名字,因为名字的顺序是随机的,所以我们需要使用随机数函数,而在停止按钮那我们需要删除抽到的名字,所以随机数需要是一个全局变量,而且因为每一次随机数都相当于重新赋值,所以需要用let来定义。

 const arr = ['马超', '黄忠', '赵云', '关羽', '张飞']const name = document.querySelector('.qs')const kaishi = document.querySelector('.start')const jieshu = document.querySelector('.end')let n = 0let random = 0kaishi.addEventListener('click', function () {n = setInterval(function () {random = Math.floor(Math.random() * arr.length)name.innerHTML = arr[random]if (arr.length === 1) {kaishi.disabled = true;jieshu.disabled = true;}}, 100)})jieshu.addEventListener('click', function () {clearInterval(n)arr.splice(random, 1)})

那如果是没有小白点,随机出的数字只在定时器内使用,则我们可以使用const来定义,因为每一次循环都相当于一次新的定义,并不是重新赋值,与常量不冲突。

小tip

1. 如果在函数里面不定义直接使用,也可以变成全局变量,但是是流氓做法,不推荐

2.当全局变量和局部变量重名时,在函数里局部变量会覆盖全局变量,函数结束后覆盖结束

 <script>let str = "我是全局变量";function b() {let str = "我是局部变量";console.log(str); //结果:我是局部变量}b();console.log(str);//结果:我是全局变量</script>

3.js的特殊性决定它可以在js的任何地方声明变量,它可以先定义再使用,因为js在执行前会对整个脚本文件的声明部分做完整分析。

4.现在一般不使用var声明变量

http://www.dtcms.com/wzjs/554814.html

相关文章:

  • 淘宝网站的建设丹阳市建设局网站
  • html 5网站欣赏wordpress云采插件
  • 成都制作网站价格百姓网推广一年多少钱
  • 网站建设需要干什么国外浏览器网站
  • 建筑施工建设网站在线做免费网站
  • 深圳在建高铁站产品设计作品
  • 个人怎么做网站电子商务网站模板
  • 怎么在虚拟主机上发布网站小蝌蚪视频网络科技有限公司
  • 如何拥有自己的网站做自媒体可以搬运国外网站新闻吗
  • 佛山正规网站建设哪家好合肥高端网站建设工作室
  • 网站建设目标怎么看外贸型网站方案
  • 南沙建设网站中富国建设有限公司网站
  • 网站开发常见毕业设计题目设计logo网站侵权吗知乎
  • 新泰网站建设方案怎么做自己的网站推广产品
  • 做网站 帮别人卖服务器wordpress不显示category
  • c 网站开发框架江津区做网站
  • 做网站一定要有公司吗长沙网站seo分析
  • 网站整站优化推广方案论述网站建设的主要步骤
  • 哪个网站教做饭做的好做纹身注册什么网站好
  • seo排名第一南宁seo推广
  • 网站开发周期安排个人建网站运营.
  • 网站推广有哪些手段青岛关键词排名系统
  • 黑人做爰视频免费网站wordpress 3 企业主题
  • 凡科建站收费视觉差网站插件
  • 云服务器开网站用网站做微信公众号
  • WordPress怎么建小站产品摄影
  • 网站代码 如何做层级关系qq空间秒赞秒评网站推广
  • 把自己做的网站传到网上移动应用开发网站
  • 网站域名申请了该怎么做富阳网站建设服务
  • 深圳网站建设方案维护网站如何制作的