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

网站建设合同英文模板下载炫酷的网站

网站建设合同英文模板下载,炫酷的网站,甘肃省住房和城乡建设部网站官网,用微信小程序连接WordPress作用域 通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。 作用域分为全局作用域和局…

作用域

        通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。

作用域分为全局作用域局部作用域

es6的时候新增了块级作用域{ }。

全局变量和局部变量

        根据作用域的不同,变量也可分为全局变量局部变量

        全局变量:在全局作用域下声明的变量,在全局都可以使用。

  • 在全局作用域下var声明的变量是全局变量
  • 如果在函数内部没有声明直接赋值的变量也属于全局变量(不建议使用)

        局部变量:在局部作用域下声明的变量(在函数内部定义的变量)只能在函数内部使用。

  • 在函数内部var声明的变量就是局部变量

二者区别

        全局变量:在任何一个地方都可以使用,只有在浏览器关闭时才会被销毁,因此比较占内存
        局部变量:只在函数内部使用,当其所在的代码块被执行时,会被初始化;当代码块运行结束后,就会被销毁,因此更节省内存空间。

作用域链

        内部函数访问外部函数的变量,采取的是链式查找的方式来决定取哪个值,这种结构我们称为作用域链 (就近原则)

下面这个代码,就近原则输出的是20。

预解析

js引擎分为两步:预解析 代码执行

(1)预解析  js引擎会把 js中所有的 var 还有function 提升到当前作用域的最前面

(2)代码执行  按照代码书写的顺序从上往下执行

预解析分为变量预解析(变量提升)函数预解析(函数提升)

变量预解析

变量提升 就是把所有的变量声明提升到当前的作用域最前面,不提升赋值操作。

console.log(num)  
var num=10;//相当于执行了以下代码var num;   //预解析,把变量声明提升上来
console.log(num);
num=10;  //赋值不提升

        上面这段代码预解析时会把变量声明提升到最前面,但不提升赋值操作,所以上面那个代码console.log(num)时num还没有被赋值,会输出undefined。

        注意函数表达式,是用一个变量存储函数的,预解析时只提升变量声明不提升变量赋值。所以函数表达式调用必须要写在函数表达式的下面,不然会出错。

// 函数表达式 调用必须要写在函数表达式的下面
fun();   //所以这里会输出undefined
var fun=function(){console.log(22);   
}//相当于执行了以下代码
var fun; //提升了变量声明
fun();
fun=function(){  //变量赋值不提升console.log(22);
}

函数预解析

函数提升 就是会把函数声明提升到当前作用域最前面,不提升调用操作。

fn();
function fn(){console.log(22)
}//预解析
//相当于执行下面的代码,所以不会报错
function fn(){   //函数声明console.log(22)
}
fn();   //函数调用

一道易错题:

f1();
console.log(c);
console.log(b);
console.log(a);
function f1(){var a=b=c=9;console.log(a);console.log(b);console.log(c);
}// 预解析
//相当于以下代码
function f1(){  //把函数声明提升var a;  //变量提升a=9;b=9;c=9;console.log(a);console.log(b);console.log(c);
}
f1();  //调用f1()输出9 9 9
console.log(c);
console.log(b);
console.log(a);//外面输出的是 9 9 undefined 

这道题易错点是:

        var a=b=c=9; 相当于var a=9;b=9;c=9;

        而不是集体声明,集体声明应该为 var a=9,b=9,c=9;

因为在函数内部没有声明直接赋值的变量也属于全局变量,所以b和c是全局变量。a是在函数内部声明的,所以a是局部变量。

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

相关文章:

  • 成都服装网站建设商贸有限公司企业简介
  • 网站建设及经营应解决好的问题安徽平台网站建设找哪家
  • 在线网站推荐几个嘉兴网站制作公司
  • 没备案能做网站吗锦州公司做网站
  • 网站开发数据库连接失败看片
  • 局域网建设网站揭阳网站制作多少钱
  • 北京建设主管部门网站小公司使用的网站开发
  • 佛山网站建设科技有限公司无障碍 网站 怎么做
  • 用哪个网站做首页比较好网站文章批量上传工具
  • 山西城乡建设学校报名网站wordpress插件会员
  • wordpress版本编辑网站优化过度的表现
  • 济宁网站建设济宁做网站广告收入
  • 网站版面特点网络营销师和互联网营销师的区别
  • 四维码制作网站网站群建设的目的意义
  • 做电商网站的设计思路有什么网站开店前的四项基本建设
  • 企业网站都没的百度快照咋办网站设计软件microsoft2013
  • 网站建设计划书模板岷县城乡建设局网站
  • h5一般收费标准怀化网站排名优化
  • 网站建设方面的书籍书籍网站颜色正确搭配实例
  • 陕西省教育类网站前置审批单位网站建设方案
  • 上海门户网站怎么登录网站空间免费 优帮云
  • 网站设计排名北京怎么做电影流量网站
  • 宜昌市高新区建设局网站广州中学生网站制作
  • 宁夏水利厅建设处网站成全视频在线观看免费高清动漫
  • 电子商务网站建设概述jquery特效的网站
  • wordpress写文章显示乱码西安seo外包行者seo06
  • 大型网站的技术架构问题文化传媒有限公司 网站建设
  • 网站制作怎么做下拉菜单食品网站建设策划书
  • win7如何做网站网页设计的一般流程
  • 网站建设+临沂在线代理网页版proxy