很有价值的javascript学习笔记
### JavaScript 学习笔记知识点详解 #### 一、JavaScript 基础概念 - **JavaScript 与 Java 的区别**:JavaScript 和 Java 是两种完全不同的编程语言。Java 是一种静态类型语言,而 JavaScript 是动态类型的解释性语言。JavaScript 主要在客户端浏览器环境中运行,用于增强网页的交互性。 - **JavaScript 的执行环境**:JavaScript 是通过浏览器来解释执行的,这意味着不同的浏览器可能对 JavaScript 的支持程度不同,可能会导致某些功能无法正常工作。 - **JavaScript 的数据类型**:JavaScript 是一种弱类型的语言,即在定义变量时不需要指定其类型。在定义变量时通常推荐使用 `var` 关键字,但这并不是强制性的。需要注意的是 JavaScript 区分大小写,例如 `num` 和 `NUM` 是两个不同的变量。 - **变量声明与使用**:声明变量时建议始终使用 `var` 关键字,这样可以避免创建全局变量。另外,在 JavaScript 中,每条语句之后一般需要加上分号以明确表示语句的结束。 - **类型检查**:可以使用 `typeof` 运算符来检查变量的数据类型,例如 `typeof v` 可以用来检查变量 `v` 的类型。 - **用户输入**:`prompt()` 函数用于获取用户的输入。例如,`let userInput = prompt("请输入您的名字");` 可以让用户输入其名字。 - **条件判断**:在逻辑运算中,`0`, `false`, `null`, `undefined`, `NaN` 都被视为 `false`。在使用逻辑或 (`||`) 运算符时,它将返回第一个非 `false` 的值(如果是对象的话),或者如果所有的操作数都是 `false` 的话,则返回最后一个值。 #### 二、JavaScript 的基本语法与函数 - **脚本引入**:可以在 HTML 文件中通过 `<script>` 标签引入 JavaScript 文件。例如,`<script language="javascript" src="path/to/js/file.js"></script>` 可以用来引入外部 JavaScript 文件。 - **字符串执行**:`eval()` 函数可以将字符串当作 JavaScript 脚本来执行。例如,`var str = "window.alert('ok')"; eval(str);` 将弹出一个提示框显示 “ok”。 - **字符串编码与解码**:`window.escape()` 用于对字符串进行编码,`unescape()` 用于解码。 - **函数调用**:可以通过指向函数的变量来调用函数。例如,`var myFunc = function() { ... }; myFunc();`。 - **函数返回值**:如果函数没有显式返回值,但在其他地方被引用了,则默认返回 `undefined`。 - **变量作用域**:在函数内部定义的变量只在该函数内有效。例如: ```javascript var abc = 89; function test() { abc = 900; } test(); window.alert(abc); // 输出 900 ``` - **局部变量与全局变量**:在函数内部使用 `var` 声明的变量是局部变量,未使用 `var` 声明的变量则成为全局变量。例如: ```javascript var abc = 89; function test() { var abc = 900; // 局部变量 } test(); window.alert(abc); // 输出 89 ``` - **`this` 关键字**:`this` 关键字的值取决于函数是如何被调用的。例如: ```javascript function Person() { this.name = "abc"; this.age = "90"; } var p1 = new Person(); var p2 = new Person(); window.alert(p1.name + " " + p2.name); // 输出 "abc abc" ``` - **对象属性与方法**:对象可以通过 `this.属性名` 来定义公有属性,这些属性可以直接通过对象名访问。例如: ```javascript function Person() { var name = "abc"; // 私有属性 this.name2 = "abc2"; // 公开属性 this.show = function() { // 公开方法 window.alert(name + " " + this.name2); // 访问私有属性 } } var p1 = new Person(); p1.show(); // 正确 ``` - **对象方法绑定**:对象的方法可以通过赋值的方式绑定到对象实例上。例如: ```javascript function Person() { this.name = "abc"; } function show() { window.alert("Hello " + this.name); } var p1 = new Person(); p1.abc = show; // 绑定方法 p1.abc(); // 调用方法 ``` - **原型方法**:通过原型链可以为对象添加共享的方法。例如: ```javascript function Dog() {} var dog1 = new Dog(); Dog.prototype.shout = function() { window.alert("小狗"); }; dog1.shout(); // 调用方法 var dog2 = new Dog(); dog2.shout(); // 同样可以调用 ``` #### 三、JavaScript 进阶知识 - **比较运算符 `==`**:双等号 `==` 在比较两个值时会自动进行类型转换。例如,如果两边都是字符串,则比较内容是否相同;如果是数字,则比较数值是否相等;如果是对象或函数,则比较它们的引用是否相同。 - **`Object` 类**:`Object` 类是所有 JavaScript 对象的基础类,提供了创建自定义对象的基本方法。其中 `constructor` 属性指向对象的构造函数,`prototype` 属性可以获得类的 `prototype` 对象。 以上知识点涵盖了 JavaScript 的基础语法和一些进阶用法,希望对初学者有所帮助。通过理解这些核心概念,可以更好地掌握 JavaScript 的使用技巧,并为进一步深入学习打下坚实的基础。
剩余14页未读,继续阅读
- 粉丝: 46
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助