js基础

110 阅读3分钟

 js概念

  • 与网页进行交互的脚本语言,有一定的逻辑性

  • JavaScript是一门面向对象的、跨平台脚本语言

    • 面向对象:面向对象的属性和方法,没有顺序要求

      • 对象:就是一系列的属性的方法构成
    • 跨平台:能够通过浏览器在不同的操作系统上运行

    • 脚本语言:凡是不能独立运行的程序,需要依赖其他程序才能执行的语言叫做脚本语言,也叫做动态语言

      • 脚本语言的特点:辅助、简单、即写即所得

     

js组成

  • ECMAScript :定义语法规范 (保留字、关键字 相当于交规)【核心】

  • BOM : 浏览器对象模型

    • 控制浏览器的前进、后退、刷新、关闭...
  • DOM :文档对象模型

变量

  • 变量指的是在程序中保存数据的一个容器
  •  变量的初始值为 undefined

声明变量的关键字  var

  • 语法:var 变量名 = 变量值

变量的命名规则

  1. 只能是数字,字母,下划线,$
  2. 不能以数字开头
  3. 不能是保留字,关键字
  4. 严格区分大小写
  5. 驼峰命名法
    大驼峰:类、构造函数
    小驼峰:变量、形参
  6. 语义化

关键字和保留字

数据类型

  • 我们通常分为两类基本数据类型复杂数据类型

基本数据类型

  1. 数值类型(number):整形和浮点型

    • 一切数字都是数值类型(包括二进制【表示方式:数字前加(0b)】,十进制,十六进制【包括1-9、a、b、c、d、e、f,表示方式:数字前加(0x)】)

      toString() 10进制转至其他进制

      parseInt() 其他进制转至10进制

    • NaN(not a number),一个非数字【特殊值】

      isNaN(num)函数:该函数判断num变量的值是否是NaN .是NaN返回true .数字返回false

  2. 字符串类型(string

  3. 布尔类型(boolean)

    • 只有两个:true或false
  4. undefined【声明了变量,但未赋值】

  5. null类型(null)

  6. object(Array、Function、Date...)

数据类型检测

  • typeof
var a = 'hello'
var result = typeof a
console.log(result)   //返回的结果为String

var b = 12
console.log(typeof b)  //返回结果为number

数据类型转换

 转为数值类型(number)

  1. Number(值)
  2. parseInt(值)
  3. parseFloat(值)
  4. 隐式转换:除了加法以外的数学运算(  -  *  /  %  )  和 ==

转为字符串类型

  1. 值.toString()
  2. String(值)
  3. 隐式转换:使用【+】,只要【+】任意一边是字符串,就会进行字符串拼接

转为布尔型

  1. 非空字符串为true,空字符串为false
  2. 非0为true,0和NaN为false
  3. null和undefined始终为false
  4. 对象为true,只要对象不等于null

运算符

分类

  1. 算数运算符: +-*/%****

  2. 赋值运算符:=+=-=*=/=%=

  3. 比较运算符:=====!=!==>=<=><

    比较运算符规则
    1. 数值与数值比较,直接比较大小
    2. 数值与字符串比较,字符串转换成数值,再比较大小
    3. 字符与字符串比较,把字符转换成ASCII码,再比较大小
    
    ASCII码常见取值范围
    	a ~ z 97 ~ 122
    	A ~ Z 65 ~ 90
    	0 ~ 9 48 ~ 57
    
  4. 逻辑运算符:||  &&  !

    逻辑与 &&
        符号左右两边都为true,结果为true
    
    逻辑或 ||
        符号左右两边只要有一边为true,结果为true
    
    逻辑非 !
        进行取反,例:
            !true结果是false
            !false结果是true
            !!true结果是true
    
    短路运算符:
        逻辑与 &&  和  逻辑或 ||  又被称为短路运算符
        逻辑与&&,如果第一个操作数返回是 false,第二个数不管是true还是false都会返回false
        逻辑或||,当第一操作数的求值结果为 true, 就不会对第二个操作数求值了
    
  5. 一元运算符:++   --

    a++  a--   先取值,后运算
    
    ++a  --a   先运算,后赋值
    
  6. 三元运算符: ? :

    语法:条件 ? 条件为true的时候执行 : 条件为false的时候执行
    
    例:
        var age = 18
        age >= 18 ? alert('已成年') : alert('没有成年')
    

  7. 位移运算符:>>  <<

    >> 右位移
    << 左位移
    
    2>>2等于0
    2<<2等于8
    2 2把第12 ,转换成2进制,再向左边或右边移动n位,n: 就是第2个数
    

优先级