博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS学习专辑(4)- 变量作用域和语句
阅读量:5870 次
发布时间:2019-06-19

本文共 1231 字,大约阅读时间需要 4 分钟。

因为前面学了JS在客户端主要是WEB中的一些东西,但是我觉得想继续学的话,基础还是很重要的。因此还是先回过头来把JS核心语言的基础打好,再继续去学习JS在客户端中的一些应用。

因为是只学习JS语言的东西,所以装个Node可以帮助学习,安装方法的话可以看。

一点点来弄吧,首先最简单的那些值、类型、变量什么的我觉得都是差不多的东西,但是变量的作用域方面还是有必要记录一下,稍微还是有点区别的。

在函数体内,局部变量优先级高于同名的全局变量。

View Code
var x="jk";function f(){    var x="dd";    return x;}console.log(f()); //输出为"dd"

在JS中,变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的。

View Code
var x="jk";function f(){    console.log(x);     var x="dd";    console.log(x);    return x;}console.log(f());

上面的例子中,可能会误以为第一个输出的是jk,但是不是这样的,根据上面特性,意味着在声明变量以前就可以使用,也就是说函数体内的局部变量遮盖了全局的同名变量,只有在执行到var的时候才被赋值。上面的函数等价于这样:

View Code
var x="jk";function f(){    var x;    console.log(x);  //undefined    x="dd";                console.log(x);     //dd    return x;}console.log(f());    //dd

然后,关于各种语句来说的话,声明语句都是用var的,函数都是用function()的。条件、循环语句都是差不多的东西,语句中是可以贴标签的:identifier:statement定义完后就可以在程序任何一个地方通过标签名字引用它。其他类型的语句的话,比如with(object)statement;通常用来缩短特定情形下必须写的代码量:

View Code
var a=screen.availHeight;var b=screen.availWidth;var c=screen.bufferDepth;with(screen){    var a=availHeight;    var b=availWidth;    var c=bufferDepth;}

上面就简化多次编写同一个对象的工作。不过由于这个东西难于优化,所以不推荐使用。

上面的一些基础的东西就记录了一点值得注意的地方,接下来等下章开始就要详细的学习记录了。

转载于:https://www.cnblogs.com/socialdk/archive/2013/04/21/3033320.html

你可能感兴趣的文章
前端性能优化小结
查看>>
ThinkPHP空操作、空控制器处理
查看>>
ubuntu中安装oracle 11g
查看>>
MacBook如何用Parallels Desktop安装windows7/8
查看>>
gitlab 完整部署实例
查看>>
GNS关于IPS&ASA&PIX&Junos的配置
查看>>
K8S 集群安装
查看>>
七天学会ASP.NET MVC (四)——用户授权认证问题
查看>>
Java并发编程系列之一:并发机制的底层原理
查看>>
关于InnoDB事务的一个“诡异”现象
查看>>
【springmvc+mybatis项目实战】杰信商贸-23.重点知识回顾
查看>>
fgets vs scanf
查看>>
hdu1018阶乘位数
查看>>
(二十五)将变量初始化
查看>>
Linux内核文件系统-挂载流程分析
查看>>
(三十一)cout.put()
查看>>
FL2440 2.6.28 SD卡驱动BUG解决
查看>>
【Java基础】Java到底是解释运行还是编译运行?
查看>>
前端学习之路之资源篇
查看>>
MySQL基础概念
查看>>