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

htm网站开发 实训杭州专业建设网站哪里好

htm网站开发 实训,杭州专业建设网站哪里好,东莞网站如何制作,我学我做我知道网站全局变量常常定义在函数外,具有全局定义域,在整个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/539238.html

相关文章:

  • 潍坊市高新区建设局网站微信小程序 网站开发
  • 网站颜色搭配技巧佛山手机网站建设
  • 汕头建设企业网站网络营销方式和技巧
  • 怎么看网站是哪里做的wordpress迁移到vps
  • 拖拽式网站建设咸阳软件开发
  • 个人公司网站模板房地产开发资质需要什么条件
  • 北京建设工程建设交易信息网站中国房地产十大排名
  • 如何查看百度蜘蛛来过网站设计理论网站
  • flash网站制作下载layui 网站建设模板
  • 网站开发的进度安排求做网站的
  • 响应式网站布局何炅做的代言网站
  • 自己架服务器做网站沈阳市营商环境建设监督局网站
  • 安全电子商务网站设计东莞五金网站建设
  • 游戏源代码交易平台搜狗seo查询
  • 苏州移动网站建设wordpress在手机登录
  • 网站建设费用有哪些服务企业建设网站
  • 四川住房和城乡建设厅网站电话给网站添加关键词
  • 网站到期续费要多少钱wordpress有问题
  • 商丘网站推广jsp 响应式网站模板
  • 网站建设功能套餐表网站平台建设视频教学
  • 响应式网站 解决方案19网站建设
  • 本溪建设网站wordpress 关键字链接
  • 做地方门户网站家政的网站怎么做
  • 打电话做网站的话术wordpress footer插件
  • 感觉做的比较好的健身网站网站可以备案先提交类别后来改么
  • 找聊城做网站北京网站建设推
  • 关于网站建设的建议网站设计制作哪里好
  • 网站有必要使用伪静态么安卓在线视频嗅探app
  • asp代码如何修改asp网站网页域名名称国外html响应式网站模板
  • 网站开发需要提供哪些资料app网站建站系统