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

天津网站推广太原做网站哪家好

天津网站推广,太原做网站哪家好,wordpress 加载效果,正规的高端网站制作公司一、JavaScript作用域 1.JavaScript作用域 ①代码名字(变量)在某个范围内起作用和效果 目的是为了提高程序的可靠性更重要的是减少命名冲突 ②js的作用域(es6)之前:全局作用域 局部作用域 ③全局作用域:整…

一、JavaScript作用域

1.JavaScript作用域

①代码名字(变量)在某个范围内起作用和效果 目的是为了提高程序的可靠性更重要的是减少命名冲突
②js的作用域(es6)之前:全局作用域 局部作用域
③全局作用域:整个script标签 或者是一个单独的js文件

var num = 10;
console.log(num);

④局部作用域(函数作用域)在函数内部就是局部作用域 这个代码的名字只在函数内部起效果和作用

function fn() {// 局部作用域var num = 20;console.log(num);
}
fn();
2.变量的作用域

根据作用域的不同我们变量分为全局变量和局部变量
①全局变量:在全局作用域下的变量 在全局下都可以使用
注意 如果在函数内部 没有声明直接赋值的变量也属于全局变量⭐⭐⭐
②局部变量 在局部作用域下的变量 后者在函数内部的变量就是 局部变量
注意 函数的形参也可以看作是局部变量
③从执行效率来看全局变量和局部变量
(1) 全局变量 只有浏览器关闭的时候才会销毁,比较占内存资源
(2) 局部变量 当我们程序执行完毕就会销毁

var num = 10;  // num 就是一个全局变量
console.log(num);  // 10function fn() {console.log(num);
}
fn();  // 10console.log(aru);  // Uncaught ReferenceError: aru is not defined
// 函数的形参也可以看作是局部变量function fun(aru) {var num1 = 10;  // num1就是局部变量  只能在函数内部使用num2 = 20;  //  如果在函数内部  没有声明直接赋值的变量也属于全局变量
}
fun();
console.log(num1);  // Uncaught ReferenceError: num1 is not defined
console.log(num2);  // 20
3.JavaScript没有块级作用域

现阶段没有,es6 的时候新增的块级作用域
块级作用域 {} if {} for {}
外面是不能调用num的

if (3 < 5) {var num = 10;
}
console.log(num);  // 10
4.作用域链

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

        var num = 10;function fn() {  // 外部函数var num = 20;function fun() {  // 内部函数console.log(num);}fun();}fn();  // 20
5.案例
        function f1() {var num = 123;function f2() {console.log(num);  // 站在目标出发,一层一层的往外查找}f2();}var num = 456;f1();  // 结果为:123
        var a = 1;function fn1() {var a = 2;var b = '22';fn2();function fn2() {var a = 3;fn3();function fn3() {var a = 4;console.log(a);  // a的值:?4console.log(b);  // b的值:?22                }}}fn1();

二、JavaScript预解析

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

(1) 预解析 js引擎会把js 里面所有的 var 还有function 提升到当前作用域的最前面
(2) 代码执行 按照代码书写的顺序从上往下执行

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

(1) 变量提升 就是把所有的变量声明提升到当前的作用域最前面 不提升赋值操作
(2) 函数提升 就是把所有的函数声明提升到当前作用域的最前面 不调用函数

        // 1. 报错:Uncaught ReferenceError: num is not defined// console.log(num);// 2. undefinedconsole.log(num);var num = 10;// 相当于执行以下代码// var num;// console.log(num);// num = 10;// 3. 11fn();function fn(){console.log(11);}// 4. 报错:Uncaught TypeError: fun is not a functionfun();var fun = function() {console.log(22);}// 函数表达式  调用必须写在函数表达式下面// 相当于执行以下代码// var fun;// fun();// fun = function() {//     console.log(22);// }
案例

案列1:

        var num = 10;fun();function fun() {console.log(num);var num = 20;}  // 输出结果:undefined// 相当于执行力以下操作// var num;// function fun() {//     var num;//     console.log(num);//     num = 20;// }// num = 10;// fun();

案列2:

        var num = 10;function fn() {console.log(num);var num = 20;console.log(num);} fn();  // 输出结果为:undefined 20// 相当于执行以下代码// var num;// function fn() {//     var num;//     console.log(num);//     num = 20;//     console.log(num);// } // num = 10;// fn();

案列3:

        var a = 18;f1();function f1() {var b = 9;console.log(a);console.log(b);var a = '123';}   // 输出结果为:undefined 9// 相当于执行以下代码// var a;// function f1() {//     var b;//     var a;//     b = 9;//     console.log(a);//     console.log(b);//     a = '123';// } // a = 18;// f1();

案列4:⭐⭐⭐⭐⭐

        f1();console.log(c);console.log(b);console.log(a);function f1() {var a = b = c = 9;  // 相当于 var a = 9;  b = 9; c = 9;    b 和 c 直接赋值  没有 var 声明 当 全局变量看// 集体声明  var a = 9, b = 9, c = 9;// 未用 var 声明,也可以输出赋予的值,但是 声明变量为赋值则输出undefinedconsole.log(a);console.log(b);console.log(c);}   // 输出结果为:9  undefinded  undefinded undefinded undefinded 9  // 相当于执行以下代码function f1() {var a;a = b = c = 9;console.log(a);  // 9console.log(b);  // 9console.log(c);  // 9} f1();console.log(c);  // 9console.log(b);  // 9console.log(a);  // 报错:Uncaught ReferenceError: a is not defined
http://www.dtcms.com/wzjs/175797.html

相关文章:

  • 网站开发配置状态报告市场调研的方法
  • 如何做网站免费推广需要优化的地方
  • 长沙建站模板平台站长之家网站排名
  • nba网站开发论文济南网络seo公司
  • 做网站可以在哪儿接活百度指数怎么下载
  • 网站更换服务器 seo今天时政新闻热点是什么
  • 南京网站建设价格线上营销技巧和营销方法
  • 做网站需要哪些人员外贸seo优化公司
  • 台州市城市建设规划局网站googleplaystore
  • 河北中石化建设网站查关键词
  • 毕业设计网站最容易做什莫类型爱站工具包手机版
  • 做网站草图找素材网站推广seo优化
  • 建设网站网上银行登录门户网站推广方案
  • 建了网站但是百度搜索不到黄金网站app大全
  • 互联网门户网站有哪些百度平台营销宝典
  • wordpress调用添加登陆页面按钮浙江seo关键词
  • 校园网站设计与实现网络服务中心
  • spring boot 做网站seo自然优化排名
  • 旺旺号查询网站怎么做it培训机构靠谱吗
  • 香港做批发的网站百度seo公司电话
  • 网络游戏未成年消费问题怎么处理郑州网站seo优化公司
  • php动态网站怎么做的seo是什么意思广东话
  • vue旅游网站怎么做宁德市疫情
  • 石家庄seo网站优化价格营销推广活动方案
  • 营口网站制作网站排行榜查询
  • 晋城政府网站建设品牌推广策略有哪些
  • 做网站做的好的公司百度推广优化怎么做
  • 皮具网站设计哪个网站百度收录快
  • 网站建设首先要seo关键词优化培训
  • 石柱县建设局网站网络销售