js简介
- js是一种运行在客户端的脚本语言。不需要编译,运行过程由js解释器(js引擎)逐行来进行解释并执行。
- 也可以通过Node.js技术进行服务器编程
js组成:
- ECMAScript:JavaScript语法
- DOM:页面文档对象模型
- BOM:浏览器对象模型
js书写位置:
- 行内:包含在HTML元素标签内(不推荐)
- 内嵌:在
<head> <script> 代码段 </script> </head>
中内嵌 - 外部:使用
<script src=”index.js”></script>
引入js文件
输入输出
alert(msg)
浏览器弹出警示框console.log(msg)
浏览器控制台打印输出信息prompt(info)
浏览器弹出输入框,供用户输入
变量
-
声明:
var age;
声明一个名为age的变量 -
赋值:
age = 10;
给名为age的变量赋值为10 -
初始化:
var age = 10;
声明变量的同时进行赋值,称为初始化 -
更新:变量被重新赋值后,原有的值会被覆盖,变量值以最后一次更新为准
-
声明多个变量:中间以逗号隔开
var myname = 'Leon', age = 18, money = 99999;
Tips:
- 变量已声明未赋值,结果是 undefined
- 变量未声明直接赋值,可以运行,但不提倡
- 变量未声明未赋值,直接使用会报错
变量命名规范
- 驼峰命名法
- 尽量不要使用 name 作为变量名,在某些浏览器中有特殊含义
数据类型
JavaScript是一种弱类型、动态的语言,不需要提前声明变量的类型,程序在运行过程中,变量的类型会被自动确定,且类型可以被修改。
基本数据类型(简单数据类型)
- Number:数字型,包含整型和浮点型,默认值为0
- Boolean:布尔型,true / false,默认值为false
- String:字符串型,用引号包含,默认值为””
- Undefined:变量已声明未赋值,默认值为undefined
- Null:空值,默认值为nul
Number数字型:
- 八进制(0~7):在数字前加上0,表示此数字为八进制
- 十六进制(0~9,A~F):在数字前加上0x,表示此数字为十六进制
- 取值范围:最大值
Number.MAX_VALUE
,最小值Number.MIN_VALUE
- 无穷:无穷大
Infinity
,最穷小-Infinity
- 非数值:
NaN
,Not a Number
isNaN()
判断是否为非数值,返回true / false
String字符串型
-
双引号”” 或单引号’’ 包含的任意内容均为字符串型,推荐使用单引号
-
如果有引号的嵌套,则可以单双错开使用,如外单内双,或外双内单
-
转义符:以 \ 开头
.length
属性:计算字符串的长度(字符的个数)'my'+'name'
=‘myname’
多个字符串之间可以用 + 连接进行拼接'1' + 1
='11'
字符串与其他类型拼接,会被转换为字符串类型‘I am ’ + valueAge + ‘ years old’
也可以字符串与变量进行拼接,之间也用 + 连接
Boolean布尔型
- 仅有两个值:
true
/false
- 在参与计算时,true等价于1,false等价于0
获取变量的数据类型
typeof num
获取名为num的变量的数据类型- 字面量:在源码中一个固定值的表示法
数据类型的转换
从表单、prompt获取的数据默认都是字符串string类型的。若要进行运算,应进行数据类型的转换
- 转换为字符串型
.tostring()
方法String()
函数- 隐式转换:利用 + 拼接字符串,实现转换
- 转换为数字型
parseInt()
函数:转化为整型数值型(舍弃小数部分,舍弃字符单位)parseFloat()
函数:转换为浮点型数值型(舍弃字符单位)Number()
函数:强制转换为数值型- 隐式转换:利用 - * / 运算符进行运算,实现转换
- 转换为布尔型
Boolean()
函数- 代表空的、否定的值(如’’ 0 NaN null undefined等)会被转换为false,其他的都会被转换为true
运算符
算数运算符
+
加-
减*
乘/
除%
取余数(取模)- 浮点数用算数运算符,会有精度问题。且不能直接判断两个浮点数是否相等
- 取余运算符主要用来判断某数能否被整除
- 先乘除后加减,小括号优先
递增递减运算符(自增自减)
- 需要和变量配合使用
- 前置递增
++i
前置递减--i
:先自加减,后返回值 - 后置递增
i++
后置递减i--
:先返回原值,后自加减 - 单独使用时两者效果一样,与其他代码联用效果不同
- 更常用后置运算符
比较运算符(关系运算符)
>
大于号<
小于号>=
大于等于号<=
小于等于号==
判等号(会转型)!=
不等号===
全等号(值和数据类型都相等)!==
不全等号- 返回值为布尔型
逻辑运算符(布尔运算符)
&&
逻辑与(and)||
逻辑或(or)!
逻辑非(not)- 返回值为布尔型
- 短路运算(逻辑中断):当有多个表达式(值)时,当左边的表达式值可以确定结果时,就不再继续运算右边的表达式值
- 两个值进行逻辑与
&&
运算时,当左边的值为真true,则返回右边的值。左边的值为假false,则返回左边的值 - 两个值进行逻辑或
||
运算时,当左边的值为真true,则返回左边的值。左边的值为假false,则返回右边的值
赋值运算符
=
直接赋值+=
-=
加等减等*=
/=
%=
乘等除等取模等
运算符优先级
- 小括号:
()
- 一元运算符:
++
--
!
- 算术运算符:先
*
/
%
后+
-
- 关系运算符:
>
>=
<
<=
- 相等运算符:
==
!=
===
!==
- 逻辑运算符:先
&&
后||
- 赋值运算符:
=
- 逗号运算符:
,