JS学习专辑(4)- 变量作用域和语句

本文从JavaScript基础知识出发,详细阐述了变量作用域、声明语句、条件与循环语句等核心概念,并通过实例展示了如何利用Node环境进行学习。重点讨论了函数体内局部变量与全局变量的区别,以及如何在函数体内正确使用已声明的变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为前面学了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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值