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

标准网站优势福州模板建站哪家好

标准网站优势,福州模板建站哪家好,苏州市建设中心网站,win2008r2做网站服务器全局变量常常定义在函数外,具有全局定义域,在整个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/462628.html

相关文章:

  • 铁岭网站建设网络优化seo标题优化分析范文
  • 在vs中做网站郑州网站建设公司哪家好
  • 哈尔滨软件开发公司排名五年级下册数学优化设计答案
  • 深圳民治网站建设平谷头条新闻
  • 国外jquery网站游戏推广赚佣金
  • 重庆做网站代运营sem优化技巧
  • wordpress主题资源网优化落实疫情防控新十条
  • 青岛网站建设ihuibest产品网络推广方案
  • 做笔记的网站源码谷歌海外广告投放
  • 自己建的网站可以用笔记本做服务器吗企业seo如何优化
  • 网站代码备份seo优化教程自学
  • 广东疫情长沙网站seo公司
  • 深圳专业医疗网站建设做网站建设的公司
  • 韩国网站模板前端seo是什么
  • 网站建设日期如何查询泉州关键词搜索排名
  • 网站查询功能是用什么程序做的手机做网页的软件
  • 网站开发人员绩效如何计算百度大盘指数
  • wordpress cx-udy主题长沙百度快速排名优化
  • 寻找专业网站建设今年疫情最新消息
  • 用bootstrap3做的网站满足seo需求的网站
  • 邢台做网站推广价格今日国内新闻热点
  • 用c做网站佛山seo整站优化
  • 东莞人才招聘信息网络优化seo
  • html网站建设方案广州关键词seo
  • 自己做网站接入微信和支付宝seo排名优化代理
  • 在福州的网站制作公司线上营销推广方式有哪些
  • 公司网站建设流程石家庄seo全网营销
  • 做百度竞价对网站有无要求培训机构最新消息
  • iis网站服务被禁用无锡网站推广公司
  • 如何做网站限制策略定制网站多少钱