- A+
1.JS在浏览器中的运行方式
1.使用浏览器控制台输入代码并执行
2.将JS脚本嵌入在HTML页面中(重要)
(1)html元素事件中执行JS脚本
onclick事件:单击元素时所做的操作
<button id="xxx" onclick="JS脚本"></button>
<button id="xxx" onclick="console.log('Hello World!')"></button>
(2)html页面通过<script></script>编写脚本
(3)将JS脚本编写在外部脚本文件中(js文件)
<script type="text/javascript" src="script.js"></script>
注意:外部引入时,<script></script>中不能写任何东西
3.调试JS
<script></script>语句一
<script></script>语句二
代码一旦出现错误,会终止本语句块的执行,但不影响其他语句块的执行和解析
4.语法
console.log() 在控制台输出数据
document.write() 在网页中输出数据
window.prompt() 网页带有输入的弹框
2.变量和常量
1.变量声明、赋值
var 变量名 = 值;
当值为字符串时,必须用 " " 或 ‘ ’ 括起来
2.变量名命名规范
(1)不允许使用JS关键字和保留关键字命名
(2)不能以数字开头,只能包含字母、数字、下划线 _ 、以及 $
3.常量声明、赋值
const 常量名 = 值 ;
注意:常量一经声明,就不允许修改数据
3.数据类型
1.基本类型
(1)number 类型 :可以表示32位(4字节)的整数,或64位(8字节)的浮点数(小数)
(2)string 类型 字符串类型
转义字符:
n: 换行
r: 回车
t: 制表符
\:
': '
": "
(3)boolean 类型 在程序中表示真假
取值:
true : 真
false :假
注意:boolean类型可以参与到整数的四则运算中,其中 true = 1 ,false = 0
(4)undefined 声明变量未赋值,访问的对象的属性不存在
(5)null 空
2.数据类型的转换
(1)typeof(变量名) 查看当前变量的数据类型
JS中所有用户手动输入的数据,默认都是string类型
(2)toString() 转化成字符串,将任意类型的数据转换成string 类型
var num = 15;
num.toString();
(3)parseInt(参数) 将参数转化成整数,碰到第一个非数字的字符就停止转换
var str = "123" ;
var num = parseInt(str) ;
(4)parseFloat(参数) 将参数转换成浮点数,碰到第一个非数字的字符,则停止转换
(5)Number(参数) 将参数转化为number类型,只要包含非法字符,结果就是NaN
(6)变量.toFixed(保留位数) 将变量进行四舍五入并保留对应的位数
4.运算符
1. &&
条件1 && 条件2,如果条件1为 false 的话,就不用继续判断条件2,整个表达式的结果就为 false
条件 && 操作,如果条件为 true 的话,则执行后边的操作,如果条件为 false ,则不执行后边的操作
2. ||
条件1 || 条件2,如果条件1为 true ,则不用再执行条件2
条件 || 操作 ,当条件为 false 时,才会执行操作
练习:
从弹框中输入一个数字表示工资,如果工资>=20000,提示“高工资”;如果工资在8000~20000之间,提示“中高工资”;如果工资<8000,则提示“普通工资”。
var input = window.prompt("请输入你的工资:"); input >= 20000 && console.log("高工资"); ( input >= 8000 && input <20000 ) && console.log("中高工资"); input < 8000 && input >= 0 ) && console.log("普通工资");
4.位运算符
1.作用:将数字转换为二进制后进行运算,只做整数运算,如果是小数的话,则去掉小数位再运算。
2.位运算
(1)按位 与 : &
语法:a & b
特点:将 a 和 b 先转换为二进制,按位比较,对应位置的数字都为1的话,那么该位的整体结果为1,否则就为0
ex : 5 & 3 5 : 101 3 : 001 ================= 001 结果: 1
使用场合:判断奇偶性
任意数字与 1 做按位与操作,结果为1,则为奇数,否则为偶数
(2)按位 或 : |
语法:a | b
特点:将 a 和 b 先转换为二进制,按位比较,对应位置的数字有一位为1的话,那么该位的整体结果为1,否则为0
ex : 5 | 3 5: 101 3: 011 ============= 111 结果 : 7
使用场合:任何小数与0做按位或的操作,可以快速转换为整数(并非四舍五入)
(3)按位 异或
语法:a ^ b
特点:将a和b先转换为二进制,按位操作,对应位置上的两个数字,相同时结果为0,不同为1
ex: 5 ^ 3 5: 101 3: 001 =========== 110 结果 : 6
使用场合:快速交换两个数字
var a = 5; var b = 3; a = a ^ b; b = b ^ a; a = a ^ b;
(4)赋值和扩展赋值运算符
赋值运算符 : =
扩展赋值运算符 : += , -= , *=
5.条件运算符(三目运算)
1.语法:条件?表达式1 : 表达式2
条件是一个boolean类型的数据,如果条件结果为true,则执行表达式1,如果条件结果为false,则执行表达式2
练习:
从弹框中录入一个数字表示考试成绩(score),如果成绩为100分,提示 “满分”;如果成绩 >= 90 分,提示 “优” ;如果成绩 >=80 分,提示良;如果成绩 >=60 分,提示 “及格” ;否则提示 “不及格”
var score = window.prompt("请输入你的成绩:"); score == 100 ? console.log("满分") : (score >= 90? console.log("优"): (score >= 80 ? console.log("良"): (score >= 60 ? console.log("及格"):console.log("不及格"))));