03-03 js基础语法 - 图1


js基础语法

1、分支结构

1-1 if 基础语法

  1. if (条件表达式) {
  2. 代码块;
  3. }
  4. // 1. 当条件表达式结果为true,会执行代码块;反之不执行
  5. // 2. 条件表达式可以为普通表达式
  6. // 3. 0undefinednull""NaN为假,其他均为真

1-2 if 复杂语法

  1. // 1.双分支
  2. if (表达式1) {
  3. 代码块1;
  4. } else {
  5. 代码块2;
  6. }
  7. // 2.多分支
  8. if (表达式1) {
  9. } else if (表达式2) {
  10. }
  11. ...
  12. else if (表达式2) {
  13. } else {
  14. }

1-3 if 嵌套

  1. if (表达式1) {
  2. if (表达式2) {
  3. }
  4. }

1-4 案例:

  1. var weather = prompt("天气(晴|雨)"); // 文本输入弹出框
  2. if (weather == "晴") {
  3. alert("今天是晴天")
  4. } else if (weather == "雨") {
  5. alert("今天是雨天")
  6. } else {
  7. alert("输入信息有误")
  8. }

2、循环结构

2-1 or循环

  1. for (循环变量①; 条件表达式②; 循环变量增量③) {
  2. 代码块④;
  3. }
  4. // for循环执行的顺序:① ②④③ ... ②④③ ②,入口为①,出口为②,②④③就是循环过程
  5. // 案例:
  6. for (var i = 0; i < 5; i++) {
  7. console.log(i);
  8. }
  9. // 结果:
  10. 0
  11. 1
  12. 2
  13. 3
  14. 4

2-2 while循环

  1. while (条件表达式) {
  2. 代码块;
  3. }
  4. // 条件满足执行代码块,条件不满足跳出循环
  5. // 案例:
  6. var i = 0;
  7. while (i < 5) {
  8. console.log(i);
  9. i++;
  10. }
  11. // 结果:
  12. 0
  13. 1
  14. 2
  15. 3
  16. 4

2-3 for…in迭代器

  1. var arr = [1, 2, 3, 4, 5]
  2. for (num in arr) {
  3. console.log(num);
  4. }
  5. // 结果:
  6. 0
  7. 1
  8. 2
  9. 3
  10. 4

2-4 break,continue关键词

  1. // 1. break:结束本层循环
  2. // 2. continue:结束本次循环进入下一次循环

3、 JavaScript 对象

3-1 Object类型

创建

  • 直接量

    1. var obj = {name:'xiaolili', age:100, getInfo:function(
    2. console.log(this.age)
    3. )}
  • new 构造函数

    1. var obj = new Object()
    2. obj.name = 'xiaolili'
    3. obj.age = 100

    属性操作

  • 读取或修改属性
    ```json console.log(obj.name) obj.name = ‘lili’

console.log(obj[‘name’]) obj[‘name’] = ‘honghong’

  1. - 删除属性
  2. ```json
  3. delete obj['name']
  4. delete obj.name
  • 监测属性是否出存在

    1. 'name' in obj

    3-2 声明类(构造函数)

    ```json function User(name, age){ this.name = name this.age = age

    this.getInfo = function(){

    1. console.log(this.name, this.age)

    } }

var u = new User(‘鲁迅’, 45)

  1. - 每个对象都有一个属性 `.constructor` 从而获取其构造函数
  2. - 使用运算符`instanceof`可以判断一个对象是否属于某个构造函数
  3. <a name="3-3-this"></a>
  4. ### 3-3 this
  5. - this表示方法 所属的对象
  6. - 全局函数中的this 指向 window
  7. <a name="JVr3z"></a>
  8. ### 3-4 原型和原型链
  9. <a name="zoAvM"></a>
  10. #### 什么是原型
  11. 每一个JavaScript对象都和另一个对象相关联, 并从另一个对象继承属性,另一个对象就是"原型"<br />用直接量创建的对象 都具有同一个原型对象 Object.prototype
  12. <a name="d3czA"></a>
  13. #### 原型链
  14. 对象的原型也有原型,构成了原型链
  15. <a name="1z3X5"></a>
  16. #### 获取原型
  17. ```json
  18. 构造函数.prototype
  19. 对象.__proto__

给原型添加属性或方法

给原型添加属性和方法,以该对象为原型的对象 都可以使用该方法

检测属性 是自有属性还是继承自原型的属性

  1. obj.hasOwnProperty(proName)

创建对象时指定原型

  1. Object.create(原型对象)