《javaScript高级程序设计(第四版)》阅读笔记

本文是《JavaScript高级程序设计(第四版)》的读书笔记,重点探讨了JavaScript的严格模式和变量声明,包括var、let和const的特性,如变量作用域、提升、块级作用域以及它们在for循环中的应用。同时,文章提倡使用let和const代替var以提升代码质量。
摘要由CSDN通过智能技术生成


前言

最近在读《JavaScript高级程序设计》,留下一下笔记。


一、什么是JavaScript

JavaScript是一门用来与网页交互的脚本语言,包含一下三个组成部分。

  1. ECMAScript:由ECMA-262定义并提供核心功能。
  2. 文档对象模型(DOM):提供与网页内容交互的方法和接口。
  3. 浏览器对象模型(BOM):提供与浏览器交互的方法和接口。

二、语言基础

1、严格模式

ECMAScript5增加了严格模式(strict mode)的概念。严格模式是一种不同的JavaScript解析和执行模式,ECMAScript3的一些不规范写法在这种模式下会被处理,对于不安全的活动将抛出错误。要对整个脚本启用严格模式,在脚本开头加上这一行:

"use strict";

虽然看起来像个没有赋值给任何变量的字符串,但它其实是一个预处理指令。任何支持JavaScript的引擎看到它都会切换到严格模式。选择这种语法形式的目的是不破坏ECMAScript3语法。
也可以单独指定一个函数在严格模式下执行,只要把这个预处理指令放到函数体开头即可:

function doSomething() {
   
	"use strict";
	// 函数体
}

严格模式会影响JavaScript执行的很多方面。所用现代浏览器都支持严格模式。

2、变量声明(var关键字、let声明、const声明)

ECMAScript变量是松散类型的,意思是变量可以用于保存任何类型的数据。每个变量只不过是一个用于保存任意值的命名占位符。有三个关键字可以声明变量:var、const和let。其中,var在ECMAScript的所有版本中都可以使用,而const和let只能在ECMAScript6及更晚的版本中使用。

1. var声明作用域

使用var操作符定义的变量会成为包含它的函数的局部变量。比如,使用var在一个函数内部定义一个变量,就意味着该变量将在函数退出的时候被销毁:

function test() {
   
	var str = "hello world!"; // 局部变量
}
test();
console.log(str); // 报错!

这里str变量是在函数内部使用var定义的。函数叫test(),调用它会创建这个变量并给它赋值。调用之后变量随即被销毁,因此示例中的最后一行会导致报错。不过,在函数内定义变量时省略var操作符,可以创建一个全局变量:

function test() {
   
	str = "hello world!"; // 全局变量
}
test();
console.log(str)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值