js基础知识(一)

在web基础中已经讲过了js的历史,下面来进行进一步的学习

js的三大部分

  • ECMAScript
  • DOM
  • BOM

如何引入js

  1. 页面内嵌标签
  2. 外部引入
  3. 另外还有在html标签中书写js代码(PS:不推荐)
    为符合w3c的规范,即结构、样式和行为相分离,所以我们通常采用外部引用,学会了js的引用后我们来学习js的基本语法

js基本语法

  • 变量
    • 变量声明
      由于js是弱类型语言,所以类型之间可以相互转化,变量的声明非常简单 var a;如此就声明了一个变量a
    • 命名规则
    1. 变量名必须以英文字母、_、$开头
    2. 变量名可以包括英文字母、_、$、数字
    3. 不可以用系统的关键字、保留字作为变量名
  • 值类型(es6中新增的暂且不提)
    • 原始值
      number string Boolean undefined null
    • 引用值
      array object function
    • 原始值与引用值的区别
      原始值属于栈数据,引用值属于堆数据;简单来栈的地址中存储的是值,而堆数据中存储的是地址,这个地址指向的地址中存储了值。
      正因为这一点,在引用值a赋值给引用值b时,改变a中或b中的值时,由于此时拷贝给b的是地址中的地址,所以,由于地址中地址中的值改变了,而地址中的地址没有改变,所以a与b共享了这种改变;而改变变量中的原始值其实就是把变量指向的地址改变了,赋值也是把其中真实的值进行copy,也因为上面说的,两个看着相等的引用值变量也很有可能不相等,因为在相等的比较中,比较的是指向地址中的值,而引用值指向的地址中是其他的地址,所以说如果这两个引用值之前没有赋值的关系,那么它们很有可能就不相等
  • js语句的基本规则
    • 语句后面要用分号结束’;‘(ps:一般会自动补全,但最好按规矩来,有可能自动补全的不是你想的那样)
    • js语法错误会引发后继代码终止,但不影响其他的js代码块
    • 书写格式要规范 (这点可以自己去按自己喜欢的学习一下,或者学习公司的相应规范)
  • js运算符
    • ‘+’
      1. 数学运算,字符串拼接
      2. 任何数据类型和字符串相加都等于字符串,也就是说会发生隐式类型转换,会把其他数据转换成string类型
    • ‘-‘、’*’、’%’、’=’、’()’
    • ‘=’的优先级最弱
    • ‘++’、’–’、’+=’、’/=’、’*=’、’%=
      这些都是由基本的运算符简写出来的,如a++ 就是a = a + 1; a += b就是a = a + b;其中++和–有些特别的地方,和c++一样存在a++ 和++a 的问题,这里简单说一下,a++是先用再加,++a是先加再用,如b = a++;此时b = a;b = ++a;此时b = a + 1
    • 比较运算符
      • ‘>’、’<’、’==’、’>=’、’<=’、’!=’
        比较结果为Boolean,也存在类型转换
    • 逻辑运算符
      • ‘&&’、’||’、’!’
        运算结果为真实的值,其中:’&&’是从前向后找,直到找到值为false的值就返回,如果没有返回最后一个值;’||’是从前向后找,直到找到一个为true的值就返回,否则就返回最后一个
    • 会被认为是false的值
      • undefined null NaN ‘’ 0 false
    • 条件语句
      • if、 if else if
      • for
      • while、 do while
      • switch case (ps:注意要在每个case中添加break,防止进行下一个case中)
      • break 、 continue 、 return

好了,这篇就先介绍到这里了,拜拜