收藏此站 联系我们 网站
当前位置:首页» 网络推广 » 【建站服务】常德企业网站设计 - 常德高端网站定制 - 常德品牌网站搭建 - 上往建站-域名申请

【建站服务】常德企业网站设计 - 常德高端网站定制 - 常德品牌网站搭建 - 上往建站-域名申请

作者: 风兰 . 阅读量: 6 . 发表时间:2022-09-21 03:42:26

网站建设
​

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。



常德企业网站设计 - 常德高端网站定制 - 常德品牌网站搭建 - 上往建站

网站建设.png

  1. // ...}console.log(i);// ReferenceError: i is not defined

    上面代码中,计数器i只在for循环体内有效,在循环体外引用就会报错。

    下面的代码如果使用var,最后输出的是10。

    var a = [];for (var i = 0; i < 10; i++) {
      a[i] = function () {
        console.log(i);
      };}a[6](); // 10

    上面代码中,变量i是var命令声明的,在全局范围内都有效,所以全局只有一个变量i。每一次循环,变量i的值都会发生改变,而循环内被赋给数组a的函数内部的console.log(i),里面的i指向的就是全局的i。也就是说,所有数组a的成员里面的i,指向的都是同一个i,导致运行时输出的是最后一轮的i的值,也就是 10。

    如果使用let,声明的变量仅在块级作用域内有效,最后输出的是 6。

    var a = [];for (let i = 0; i < 10; i++) {
      a[i] = function () {
        console.log(i);
      };}a[6](); // 6

    上面代码中,变量i是let声明的,当前的i只在本轮循环有效,所以每一次循环的i其实都是一个新的变量,所以最后输出的是6。你可能会问,如果每一轮循环的变量i都是重新声明的,那它怎么知道上一轮循环的值,从而计算出本轮循环的值?这是因为 JavaScript 引擎内部会记住上一轮循环的值,初始化本轮的变量i时,就在上一轮循环的基础上进行计算。

    另外,for循环还有一个特别之处,就是设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域。

    for (let i = 0; i < 3; i++) {
      let i = 'abc';
      console.log(i);}// abc// abc// abc

    上面代码正确运行,输出了 3 次abc。这表明函数内部的变量i与循环变量i不在同一个作用域,有各自单独的作用域。

    Hyprion

       Hyprion

      854***944@qq.com

       参考地址

    2年前 (2020-03-21)
  2.    放牧的风

      adm***grazingwind.com

    43
    作用域

    作用域是指程序源代码中定义变量的区域。

    作用域规定了如何查找变量,也就是确定当前执行代码对变量的访问权限。

    JavaScript 采用词法作用域(lexical scoping),也就是静态作用域。

    让我们认真看个例子就能明白之间的区别:


确运行,输出了 3 次abc。这表明函数内部的变量i与循环变量i不在同一个作用域,有各自单独的作用域。


Hyprion

   Hyprion


  854***944@qq.com


   参考地址


2年前 (2020-03-21)

   放牧的风


  adm***grazingwind.com


43

作用域

作用域是指程序源代码中定义变量的区域。


作用域规定了如何查找变量,也就是确定当前执行代码对变量的访问权限。


JavaScript 采用词法作用域(lexical scoping),也就是静态作用域。


让我们认真看个例子就能明白之间的区别:


var value = 1;


function foo() {

    console.log(value);

}


function bar() {

    var value = 2;

    foo();

}


bar();


// 结果是 1

假设JavaScript采用静态作用域,让我们分析下执行过程:


执行 foo 函数,先从 foo 函数内部查找是否有局部变量 value,如果没有,就根据书写的位置,查找上面一层的代码,也就是 value 等于 1,所以结果会打印 1。


假设JavaScript采用动态作用域,让我们分析下执行过程:


执行 foo 函数,依然是从 foo 函数内部查找是否有局部变量 value。如果没有,就从调用函数的作用域,也就是 bar 函数内部查找 value 变量,所以结果会打印 2。


前面我们已经说了,JavaScript采用的是静态作用域,所以这个例子的结果是 1。


放牧的风

   放牧的风


  adm***grazingwind.com


1年前 (2021-02-26)


 

 分类导航

HTML / CSS

JavaScript

服务端

数据库

数据分析

移动端

XML 教程

ASP.NET

Web Service

开发工具

网站建设


Advertisement


 

反馈/建议反馈/建议

在线实例

·HTML 实例

·CSS 实例

·JavaScript 实例

·Ajax 实例

·jQuery 实例

·XML 实例

·Java 实例

字符集&工具

· HTML 字符集设置

· HTML ASCII 字符集

· JS 混淆/加密

· PNG/JPEG 图片压缩

· HTML 拾色器

· JSON 格式化工具

· 随机数生成器

最新更新


常德企业网站设计 - 常德高端网站定制 - 常德品牌网站搭建 - 上往建站



上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设:上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务