JS基础

303 阅读3分钟

JS语法

js书写位置

  • <head>内部。
  • <body>内部。

js注释

  • 单行注释 ctrl+/ //
  • 多行注释 ctrl+shift+/ /* */

常用语句

  • 警示框:alert(提示内容)
  • 对话框:prompt(提示内容,输入框默认值)

console控制台

  • 功能:内部可以查看 HTML、css 代码,调试代码错误。
  • 使用方法:浏览器中右键点击审查元素(检查),都可以打开控制台。快捷键: F12。
  • console.log(内容)方法:打印内容到控制台。
  • console.dir(对象名)方法:打印对象到控制台。

js数据类型

字面量(常量)

数字

  • 整数(分进制,默认转化为十进制)
    // 十进制
    console.log(10);
    console.log(-10);
    // 八进制
    console.log(01);
    console.log(010);
    console.log(0100);
    console.log(01000);
    console.log(0o1000);
    console.log(0O1000);
    // 十六进制
    console.log(0x1);
    console.log(0x10);
    console.log(0x100);
    console.log(0x110);
  • 浮点数(小数) 如果浮点数是大于0 小于1的,可以省略小数点前面的0不写。

浮点数的精度问题:0.1 + 0.2; 结果不是 0.3,而是:0.30000000000000004

  • Infinity 无穷 Infinity 本身就是一个数字。

最小值:Number.MIN_VALUE,这个值为: 5e-324

最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308

无穷大:Infinity

无穷小:-Infinity

  • NaN 表示一个不正常的数

isNaN(): 判断一个数据是不是一个NaN。

NaN 与任何值都不相等,包括他本身

字符串

  • 写法:是用一对单引号(' ')或双引号(“ ”)及引号内的字符构成

字符串中如果字符包含了双引号,则其外部应该由单引号标示,反之相同。 转义符号 \

  • 在字符串中可以使用转义符 \ 加普通字母,替代一些特殊字符

\n 换行

\t Tab制表

  • 字符串中可以使用转义符 \ 将特殊功能字符变为普通字符。

' 单引号

" 双引号

\ 反斜杠

变量

  • 使用关键字var+空格+变量名+;定义变量。
  • 命名规则:第一个字必须是字母,后面可以是数字,下划线,美元符号,字母区分大小写,不可用关键字。

数据类型

简单数据类型

  • string---字符串类型
  • number---数字类型
  • undefined---undefined类型
  • Boolean---布尔类型
  • null---null类型

检测数据类型

  • 使用 typeof 的方法进行数据检测

数据类型转换

  • 转字符串:String()
  • 转数字:Number()
    Number("");//0
    Number("123abc");//NaN
    Number(true);//1
    Number(false);//0
    Number(undefined);//NaN
    Number(null);//0
  • 字符串转整数:parseInt()

字符串中,必须是纯数字字符串或者数字字符开头的字符串,才能转换为正常数字,且只取整数部分,如果不是数字打头的字符串,会转换为 NaN

  • 字符串转浮点数:parseFloat()

满足浮点数数字字符必须在字符串开始,如果不在开始返回值都是NaN。

  • 转布尔类型:Boolean()

转为 false :NaN、0、“”空字符串、null、undefined

转为 true :非0 非NaN数字、非空字符串

操作符

算数运算符

  • + - * / % ()
  • %:取余,取模。 a / b = c 余 d,就说a % b = d。
  • 运算顺序:先算乘除取余、再算加减,有小括号先算小括号。
  • 隐式转换:
纯数字字符串: 对应的数字
转换为1true
转换为0falsenull、“”空字符串、空白字符串
转换为NaNundefined、非空非纯数字字符串

非正常情况

  • NaN参与的运算:得到的结果都是NaN
  • Infinity参与的运算:
//为NaN
Infinity % 5
-Infinity % 5
Infinity % Infinity
Infinity / Infinity
Infinity - Infinity
//任何数除以Infinity都为0
//任何数对Infinity取余都为自己

比较运算符

  • > < >= <= == === !== !===
  • == 和 === 的区别
    • ==只是数值相等
    • ===数值相等且数据类型也相等 非正常情况
  • NaN参与:不等于和不全等于结果是 true,其他的都得到 false
  • 字符串比较:字符编码顺序,从前往后 0-9,A-Z,a-z,前面的小于后面的

逻辑运算符

  • && || !
  • 转为false:NaN、0、“”空字符串、null、undefined
  • 转为true:非0 非NaN数字、非空字符串

赋值运算符符

= 等于
+= 加等于
-= 减等于
*= 乘等于
/= 除等于
%= 取余等于
++ 递加
-- 递减
  • 一元运算符

a++:a=a+1先参与运算,后自加。

++a:a+1=a先自加,后参与运算。

运算优先级

  1. () 优先级最高
  2. 一元运算符 ++ -- !
  3. 算数运算符 先* / % 后 + -
  4. 关系运算符 > >= < <=
  5. 相等运算符 == != === !==
  6. 逻辑运算符 先&& 后||
  7. 赋值运算符