javascript 01: 语法基础

2年前 (2022) 程序员胖胖胖虎阿
131 0 0

概述

  1. 浏览器上的脚本语言:不需要编译,浏览器直接解释执行,目标程序(可以执行的程序)可以以普通文本的形式保存
  2. 事件驱动的脚本语言
  3. 遵循ECMA-Script规范

html与javascript

  1. 在html中嵌入javascript的3种方式

    1. 代码块

    2. 行内代码

    3. 外部js文件引入

javascript 基础知识

  1. 事件和事件句柄的区别

    例如:click与onclick的区别

  2. 体会html文档树的概念

  3. js脚本块

    1. 会按照自上而下的循序逐行执行(注意:定义的函数不会执行)
    2. 脚本块的位置随意
    3. 注释方式2种
  4. 标识符

    1. 命名规范
    2. 命名规则:数字字母下划线美元符号,不能以数字开始,不能和关键字冲突,区分大小写,理论没有长度限制
    3. 命名规范和命名规则的区别
  5. 变量

    1. javascript是一种弱类型语言:变量声名的时候,类型没有限制死

      1. var xxx = xxx
      2. 没有手动赋值的时候系统默认赋值undefined
      3. 变量压根没有声明:报错
    2. java是一种强类型语言:变量声明的时候,类型已经限制死了

      1. byte short int long float double boolean char

        1 2 4 8 4 8 1 2

javascript 中的函数

  1. 格式

    //方式1
    function 函数名(形式参数列表){
        函数体
    }
    
    //方式2
    函数名 = function (形式参数列表){
        函数体
    }
    
    //不调用不执行
    
  2. js函数的重载

    function sum(a, b){
        alert(a + b)
    }
    //相当于写了3个函数
    
  3. 函数名不能相同

    1. 重名的话,后定义的会将前面定义的函数覆盖掉
    2. 区分函数只靠函数名
  4. 变量范围

    1. 全局变量:函数体外声明
      1. 浏览器打开时声明,浏览器关闭时销毁
      2. 不写var 声明的是全局变量
    2. 局部变量
      1. 在函数体内声明(包括函数的形参)
    3. 访问原则:就近访问

javascript 数据类型

  1. 变量没有数据类型,但是值有数据类型

  2. js中的数据类型

    1. ES6规范之前有6种,ES6之后有7种(多了一个symbol类型)

    2. 原始类型

      1. Undefined
        1. 只有一个值:undefined
      2. Number
        1. 普通值
        2. NaN(本来应该是数,结果却不是数)
        3. 无穷大Infinity
        4. 常用函数
          1. isNaN()
          2. parseInt()
          3. parseFloat()
          4. Math.ceil()
      3. String
        1. 创建字符串对象
          1. var s = "abc"
          2. var s2 = new String("abc")
            1. String内置类继承自Object
          3. typeof s 和 typeof s2的区别
            1. 小string
            2. 大String
            3. 两种string的属性和函数都是通用的
        2. 常用函数
          1. indexof
            1. 获取指定字符串在当前字符串第一次出现处的位置
            2. 未出现过:-1
          2. replace:只替换第一个
          3. substr:startindex,length
          4. substring:startindex, endindex,且不包含右边界
      4. Boolean
        1. 永远只有两个值:true or false
        2. Boolean():不是boolean类型的值转换成boolean类型的函数
          1. 有 -> true
          2. 无 -> false
        3. if后面会自动转换成boolean类型
      5. Null
        1. 只有一个值null,属于"object"
    3. 引用类型

      1. Object以及其子类

        1. 创建类的方法

          //方式1
          function 类名(形参){
              
          }
          
          //方式2
          类名 = function(形参){
              
          }
          
          //看如何使用,是否使用new,看是当作方法使用,还是当作类来使用
          
          //js中类的定义实际上已经包含了java中定义一个类的全部信息(类名与构造方法名称相同 + 弱类型)
          
        2. 创建对象的方法

          1. new 类名(参数列表)
          2. 访问属性
            1. 对象.xxx
            2. 键值对的形式 对象["xxx"]
        3. 类中属性,实例方法,类方法的声明(注意如何让类方法真正生效)

        4. prototype属性:动态的获取属性和方法

  3. typeof的结果为以下6个字符串,字符串全部小写,用于动态获取数据类型

    1. "undefined"
    2. "number"
    3. "string"
    4. "boolean"
    5. "object"
    6. "function"

    注意:

    1. null属于Nulll类型,但是null的typeof结果为"object"
  4. null,NaN,undefined区别

    1. 它们typeof的区别
    2. 它们 == 的结果
    3. 它们 === 的区别
    4. == 和 === 的区别
      1. == :值的效果是否等同
      2. === :值和类型
版权声明:程序员胖胖胖虎阿 发表于 2022年10月28日 上午8:16。
转载请注明:javascript 01: 语法基础 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...