- 说明:JS是JavaScript的简写,与Java没有半毛钱关系
- 由来:Netscape => LiveScript,后来与Sun公司有业务合作,为了推广名字就改成了JavaScript
- 定位:客户端脚本,服务器端对应脚本是node.js
- 作用:给静态页面添加动态特性,如:事件处理、更改样式、修改文档等
JS引入方式
- 方式1:任意位置使用script标签,标签内就可以书写JS代码了
- 方式2:任意位置使用script标签,加载外部的JS文件
- 方式3:设置标签的特定属性,属性值可以是JS代码
变量使用
- 类型及说明
类型 说明 数字 number,整数、小数 布尔 boolean,只有true和false两个值 字符串 string,可以使用单引号或者双引号,+可以进拼接 空 object,只有一个值null 定义未赋值 undefined,只有一个值undefined,定义变量未初始化 NaN 是个特殊的Number类型的中,转换为Number失败时的取值<br />意思是not a number, 判断只能使用函数NaN 数组 object,可以使用[]或者new Array()进行定义,也是通过下标访问 - 类型判断
- typeof:既是语法结构,也是函数,不过不够精准,大多数类型都返回object
- instanceof:可以精准判断类型
- 常量:
- 定义时将
var
换成const
变量就变成了常量,其值就不能再更改了
- 定义时将
各种运算
- 赋值运算:
=
,左边必须是变量,赋值表达式是有值的 - 算术运算:
+、-、*、/、%
- 复合运算:
+=、-=、*=、/=、%=
- 自增自减:
++、--
- 放在变量前:先进行自增或自减运算,然后参与其他运算
- 放在变量后:先参与其他运算,然后进行自增或自减运算
- 关系运算:
>、>=、<、<=、==、!=、===、!==
==
:只判断值===
:不但判断数值,还判断类型
- 逻辑运算:
&&(逻辑与)
、||(逻辑或)
、!(逻辑非)
- 按位运算:
&、|、^、~、<<、>>
- 三目运算:
?:
- 格式:
表达式1 ? 表达式2 : 表达式3
- 流程:首先判断表达式1的真假。若表达式1的值为真,则执行表达式2并将其值作为整个表达式的返回值;若表达式1的值为假,则执行表达式3并将其值作为整个表达式的返回值。
- 格式:
流程控制
- 使用说明:
- 条件必须写在
()
中 - 代码块必须写在
{}
中,代码块是一个整体时{}
可以省略,建议保留
- 条件必须写在
- 分支结构
if-else if-else
- 分支结构
switch-case
- 格式
switch (表达式) { case 常量1: 语句块1 break case 常量2: 语句块2 break default: 语句块 break }
- 流程
当程序执行到switch-case语句时,首先计算表达式的值,然后与case后面的常量进行匹配。匹配成功则执行对应的语句块,直到遇见break才跳出switch-case结构;若没有一个匹配成功,则执行default对应的语句块。
- 说明
- case选项是常量,不要写判断的表达式
- case选项的值不能一样,个数没有限制
- 凡是可以使用switch-case解决的问题都可以使用if-else解决,反之则不一定
- switch-case的执行效率要高于if-else
- 循环结构(while)
- 格式
while (表达式) { 语句块 }
用法与python一模一样
- 循环结构(do-while)
- 格式
do { 语句块 } while (表达式)
无论表达式如何,循环体至少执行一次
- 循环结构(for-in)
- 格式
for (var x in y) { 语句块 }
- 说明:
- 经常用于变量数组和对象
- 遍历时的临时变量表示的是下标或者属性名
- 循环结构(for)
- 格式
for (表达式1; 表达式2; 表达式3) { 语句块 }
- 流程
当程序执行到for语句时,首先执行表达式1,然后判断表达式2的真假。若表达式2的值为真则执行语句块,然后执行表达式3,之后返回表达式2继续判断其真假,直到表达式2的值为假;若表达式的值为假,则直接跳过循环结构。
- 说明
- for循环使用非常灵活,可以任意组合的省略三个表达式,但是不要省略分号
- 当省略表达式2时循环条件一直为真,可以结合break完成特定的功能
关注公众号,免费刷快排。
转载请说明出处
奇点seo » JS引入方式-JS各种运算/流程控制
奇点seo » JS引入方式-JS各种运算/流程控制