Javascript基础

1. Js没有块级作用域,只有函数作用域,函数是Js中唯一有自己作用域的数据结构。

例:

function test() {

for(var i; i<5; i++){

//块内

}

console.log(i)

}

test(); //结果输出 5,说明js没有块级作用域。

补充:如果想让Js拥有自己的块级作用域,可利用函数作用域的机制,改为:

function test() {

(function(){

for(var i; i<5; i++){

//块内

}

})();

console.log(i)

}

test();//结果为undifined,这时变量“i”的作用域在立即执行函数内,在出了自己的作用域后就被销毁,所以此时的log结果为undifined

2. Js在作用域内变量声明具有提升机制(hoisting)。

例:

<script>

var a = "hello";

(function(){

console.log(a);

var a = "world";

})();

</script>

//结果输出 undifined,因为在上面的立即执行函数的作用域内声明的“a”变量被提升到了自己作用域的顶部,相当于:

<script>

var a = "hello";

(function(){

var a;//变量提升

console.log(a);

a = "world";

})();

</script>

所以结果在函数内"a"变量的声明被提到了最前面,在复制前log,所以结果为undifined。

3. Js中没有用var声明的变量都是全局变量,而且是顶层对象的属性。

例:

function test (flag) {

if(flag){

s=''scope';

for(var i=0; i<2; i++){}

}

console.log(i)

}

test(true);

console.log(s);

//输出 2; "scope";   变量"s"声明的时候没有用var,所以为全局变量,用window.s也能获取到。




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript是一种广泛使用的脚本语言,主要用于网页开发,为网页提供动态交互功能。它是浏览器端的主要执行环境,支持客户端和服务器端编程。以下是一些JavaScript基础概念: 1. **变量**:在JavaScript中,不需要预先声明就可以使用变量。可以直接赋值给变量名。例如: ```javascript let name = "John Doe"; ``` 2. **数据类型**:主要有字符串(String)、数值(Number,包括整数和浮点数)、布尔(Boolean)、null、undefined、数组(Array)和对象(Object)。例如: ```javascript var num = 5; var str = "Hello, World!"; ``` 3. **运算符**:有算术运算符、比较运算符、逻辑运算符等。例如加法 `+` 和等于 `==`: ```javascript var sum = 1 + 2; // sum is now 3 if (num == 5) { /* ... */ } ``` 4. **控制结构**:包括条件语句(if...else)、循环(for, while, do...while),如: ```javascript if (condition) { // code to execute if condition is true } else { // alternative code } for (let i = 0; i < 5; i++) { console.log(i); } ``` 5. **函数**:用于封装可重用的代码块。基本形式如下: ```javascript function greet(name) { return "Hello, " + name + "!"; } ``` 6. **DOM操作**:JavaScript可以操作HTML文档,如获取元素、修改样式、添加或删除节点等。 7. **异步编程**:JavaScript采用事件驱动模型,常用回调函数、Promise和async/await处理异步操作。 要深入了解JavaScript,你可以学习语法、DOM操作、网络请求、模块化、ES6及以上版本的新特性和现代前端框架如React或Vue.js。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值