一.了解
JavaScript 诞生于 1995 年,由LiveScript 更名为 JavaScript。布兰登·艾奇(Brendan Eich)开发(网景公司Netscape出品)。
JavaScript是一种轻量级、单线程、解释型的Web开发脚本语言,还是没有划分固定类型的弱语言
浏览器脚本语言,可以编写运行在浏览器上的程序
负责编写页面特效、调用浏览器的API(BOM)、操作改变页面内容(DOM),从后端获取数据(Ajax),渲染页面等
文件后缀:.js
二.javascript的组成及如何使用
组成:
核心(ECMAScript):描述了该语言的语法和基本对象。
文档对象模型(DOM):描述处理网页内容的方法和接口。
浏览器对象模型(BOM):描述与浏览器进行交互的方法和接口。
如何使用:
1. 在Html标签内部写在script标签里面(一般会用到的)
2. 书写在js文件里面(推荐),然后再引入
3. Html标签内部编写JavaScript代码–不推荐使用。
注释(注释相当于解释这个句话 这个注释是不会被编译的) :
单行注释(快捷键Ctrl+/)://
多行注释(快捷键shift + alt +a)😕* */
三. 变量的概念
概念:所谓变量,就是特定时间用于保存特定值的一个名字而已,并且初始化后可以再次改变的量。
声明定义:
使用 var 操作符(var是关键字),后面跟一个变量名(变量名是标识符),声明多个变量的时候,可以在一行或者多行操作,只要把每个变量用逗号分隔开即可,但最好分行写,可读性佳。
特点:
声明初始化后可以改变
变量可以保存任何类型的数据
可以同时声明多个
写入内存
命名规则:数字、字母、下划线、$符号组成,其中数字不能做开头。并且变量名应做到见名知意,常用的方式有驼峰命名法(helloWorld 采用单词拼接第一个单词首字母小写 其他单词首字母大写
),同时变量名不能是保留字或者关键字 。普通变量首字母小写 常量全大写(const)。
关键字:一组具有特定用途的关键字,这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。
保留字:尽管保留字在这门语言中还没有任何特定的用途,但它们有可能在将来被用作关键字。
四.变量的数据类型
变量的数据类型(Undefined、Null:特殊类型)
ECMAScript 中有 5 种简单数据类型:number数字 、 string字符串、boolean布尔值、undefined未定义、null空对象。
还有一种复杂数据类型(引用类型)——object
检测变量类型的方法:typeof( 变量名 ) 或者 typeof 变量名
五.类型转换
显式转换:系统强制转换或者手动转换
强制转换方法:Number( )(直接转number类型) 、String( )(to String())、Boolean( )
字符串转数字:parseInt( )(转整型)、parseFloat( )(转小数)
保留小数:toFixed(小数位数)
隐式转换:系统自动根据当前的符号进行转换
+ - * / % == ++ – ! …
六.NaN和isNaN介绍
当数学计算无法得到数字结果,该变量的值为NaN(not a number)
注意:因为NaN代表非数字,它不等于任何值,也不能做运算,
即使console.log(NaN == NaN); 结果也是false ,typeof (NaN) ===‘number’
isNaN(num)方法,该方法判断num变量的值是否是NaN(不是一个数字),结果是布尔值,如果num不是一个数字输出true,是一个数字就返回false
七.无穷大和无穷小
Infinity //无穷大
-Infinity //无穷小
八.运算符和表达式
算术运算符:+ - * / ++ –
++和–的前置和后置的区别
前置先执行对应的++(–) 再执行对应的代码
后置先执行对应的代码 再执行++(–)
例:9++=9;++9=10;
9–=9;–9=8;
赋值运算符 := += -= /= *= %= 例:a%=b => a=a%b;其他与此相同。
关系运算符(结果为布尔值): <、>、<=、>=、( 相等 )、=(全等,值和类型都相等)、!=(不相等) !==(不全等)
位运算(转为二进制再进行位的变化运算):>>右移 <<左移 ~~去掉小数
例:(2<<2) //把十进制2变成十进制8
逻辑运算:&& 与(同true则为true,有一个为false就是false)
|| 或 (有true就是true,全false就是false)
! 非(取反)
计算顺序: 先算括号里面的 ++或-- 再进行乘除取余 再进行± 再进行比较运算 再逻辑运费 再进行赋值
三元运算符(三目运算符)
表达式(boolean类型表达式)? true的内容 :false的内容
例:20 > 10 ? ‘真的’ : ‘假的’ // 结果为’真的’