1.书写位置
<body></body>标签中添加<script></script>标签,将内容写到<script></script>中去;或者<body></body>标签中添加<script src="文件名.js"></script>
2.输出语句
(1)alert() 弹出警告框
(2)console.log() 控制台输出
3.变量:存储计算结果/能表示值的抽象,即存储信息的“容器”
要求:变量不能使用引号,可以改变变量的值,变量命名要合法:由数字、字母、下划线、$组成,不以数字开头,不能是关键字和保留字,严格区分大小写
优秀的变量命名法:驼峰命名法:eg:mathTestScore;变量先声明后使用
4.变量声明提升
只提升定义,不提升值;先使用后定义变量
5.数据类型
(1)number:不分大小,不分整浮,不分正负
表达小数时小数中的0可以去掉,eg: .3, .7
科学计数法:(较大或者绝对值较大的数字),eg:3e8=3*10的8次方
不同进制的数字:二进制0b开头,八进制0开头,十六进制0x开头
(2)string :字符串型,一个字符串可以包含0/多个字符
length属性:字符串长度,“+”可以拼接多个字符串
“方法”:能够打点调用的函数
1>charAt() 得到指定位置字符,从0开始
2>substring() 提取子串;两个参数,[a,b),从a开始,到b结束,a可以大于b,会自动调整
3>substr() 提取子串;两个参数,[a,b),从a开始,长度为b,a可以为负数,表示倒数
4>slice() 提取子串;两个参数,[a,b),从a开始,到b结束,a,b不能交换位置,a可以为负数,表述倒数选择,a必须小于b
5>toUpperCase() 将字符串变大写
6>toLowerCase() 将字符串变小写
7>indexOf() 检索字符串:返回某个特定发字符串值在字符串中首次出现的位置,如果检索的字符串值没有出现,则返回-1
(3)boolean;布尔型,true/false
(4)undefined:仅仅var,而没有赋初值;又是值、又是类型,在变量声明提升时,变量的值也是undefined
(5)null:"空",可用于事件监听,销毁对象、销毁数组等
用typeof检测null结果是object
(6)NaN,不是一个数,是一个数字类型的值
任何涉及NaN的操作都会返回NaN;NaN与任何值都不相等,包括它本身
(7)数组,数组下标基于0,数组用typeof检测的结果是object
6.数据类型转换
(1)其他值——>数字
1>Number()函数

Number('123') //123;   Number(undefined) //NaN
Number('null') //0;    Number('') //0;

2>parseInt()"取整的作用,截取非数字字符";字符串——>整数
不是以数字开头,转化为NaN,不四舍五入
3>parseFloat():字符串——>浮点数
(2)其他值——>字符串
1>String():变为“长的相同”的字符串
2>toString():“打点调用”
(3)其他值——>布尔值
Boolean()函数;0,NaN,undefined 都是false
7.表达式与操作符
(1)关系运算符
结果是布尔值,true/false

,<,==,!=,<=,>=,===,!==
!!!注:null和undefined用==进行比较涉及隐式强制类型转换
ESS规范中规定:
如果x为null,y为undefined,结果为true
如果x为undefined,y为null,结果为true

Null和undefined用===进行比较时,结果为false,因为类型不同

typeof null 结果为object
typeof undefined 结果为undefined

isNaN()函数可以用来判断变量值是否为NaN,只要该变量传入Number()的执行结果为NaN,则isNaN()都会得到true
isNaN()返回的是false,表示数值;返回的是true,表示非数值
(2)逻辑表达式
优先级(高到低):!>&&>||
1> !:非,结果一定是布尔值
2> && 与:都真则真;短路计算:即a&&b,a为真时,b真则真,b假则假,结果为b,a为假,结果为a
3> || 或: 有真则真;短路计算:即a||b,a为真,b短路,结果为a;a为假,b真则真,b假则假,结果为b
(3)算术表达式
+,-,*,/,%;
隐式类型转换:参与数学运算的某操作数不是数字型,那么js会自动将此操作数转换为数字型(本质是内部调用了Number()函数)
(4)赋值表达式:
=,+=,-=,*=,/=,%=
(5)三目运算 条件?值1:值2;
(6)综合表达式
顺序:非运算->数学运算->关系运算->逻辑运算
8.幂,开根号以及取整

Math.pow(a,b)   a的b次方
Math.sqrt(a)    a开根号
Math.ceil()     向上取整
Math.floor()    向下取整

9.IEEE754二进制浮点数算术标准,会“丢失精度”,用toFixed()方法保留小数
10.对象
对象也是一个变量,但对象可以包含多个值(多个变量),每个值以 name:value 对呈现。JavaScript 对象是变量的容器。
对象的方法定义了一个函数,并作为对象的属性存储;对象方法通过添加 () 调用 (作为一个函数)。
11.函数语法
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
函数就是包裹在花括号中的代码块,前面使用了关键词 function:

function functionname(){
// 执行代码}

当调用该函数时,会执行函数内的代码。
12.作用域
局部作用域:变量在函数内声明,变量为局部变量,具有局部作用域
全局作用域:变量在函数外定义,即为全局变量。全局变量有全局作用域: 网页中所有脚本和函数均可使用。
13.常见的HTML事件
(1)onchange html元素改变
(2)onclick 用于点击html元素
(3)onmouseover 鼠标指针移动到指定元素上式发生
(4)onmoseout 用户从一个html元素上移开鼠标时发生
(5)onkeydown 用户按下按键
(6)onload 浏览器已完成页面加载
14.条件控制语句
(1)if语句(条件,判断)
(2)switch语句:一个变量来分情况讨论
(3)for循环
(4)break,continue
break 用来终止循环;congtinue用来跳出循环中的一个迭代,继续执行循环中的下一个迭代
(5)while和do while循环
while循环“不定范围”;do while至少循环一次
15.随机数函数
Math.random()产生0-1之间的小数,可以扩大倍数,*10等;
产生[a,b]之间的整数公式
parseInt(Math.random()*(b-a+1)+a
16.递归
函数的自我调用
17.open()方法
可以查找一个已经存在的或者新建的浏览器窗口,close()方法关闭窗口
18.DOM:文档类型对象,当页面被加载时,浏览器会创建页面
js能改变页面中的所有html元素,html属性,css样式,对所有事件做出反应
(1)DOM操作
通过id获取元素
(2)改变HTML样式
(3)显示与隐藏(display)属性
block显示,none 隐藏
(4)控制类名className 属性设置/返回元素的class属性;节点调用方法
19.js面向对象
JavaScript 中的所有事物都是对象:字符串、数值、数组、函数......


茶色岛
62 声望1 粉丝