一 JS介绍

1.1 写入位置

行内,内部script标签内,外部js文件内

1.2 输入输出语句

输出语句

alert()

document.write()

console.log()

输入语句

prompt()

二 变量

let var【被淘汰】

区分大小写

三 常量

const

四 基础数据类型

4.1 数字类型number

typeof

NaN 【not a number 】,不是一个数字,但是是数字类型

4.2 字符串类型string

模版字符串

使用反引号,${变量名}:console.log(`${name}今年${age}岁了`)

4.3 布尔类型boolean

4.5 未定义类型undefined

申明变量未赋值

4.6 空类型null

null赋值了,但是是空值,无,typeof返回object,但是它是基本数据类型,此时判断是个bug,null通常是给对象赋值的

undefined未赋值

五 运算符

5.1 算术运算符

5.2 赋值运算符

5.3 自增自减运算符

5.4 比较运算符

5.5 逻辑运算符

5.5 运算符优先级

 六 类型转换

6.1 显示转换

转换为数字型

Number(数据)

parseInt(数据)

parseFloat(数据)

注:特殊转换:boolean:true ->1;false->0; null->0;undefined->NaN

转换为字符型

String(数据)

变量.toString(进制)

转化为布尔值

Boolean(数据)

注:转换为false:0,false,undefined,null,NaN,'', '  '

6.2 隐式转换

转换为数字

算术运算符,比较运算符,+号可以作为正号把字符串转换为数字

转换为字符串

+加号字符串拼接

转换为布尔值

!逻辑非

七 语句

7.1 分支

if

三元运算符

switch

断点调试-chrome调试工具

7.2 循环

while循环

for循环

循环嵌套

八 数组

8.1 定义

数组属于引用数据类型,单个变量下存储多个数据

let 数组名= [数据1,数据2,。。。,数据n] 

8.2 数组的基本使用

数组取值: 数组名[索引]

遍历:for

数组的长度:数组名.length

8.3 数组操作

查询:数组名[索引],没查到返回undefined

修改:数组名[索引],索引不存在会加一个数,然后中间很多空索引

新增元素:

数组.push(数据),数据可以是多个,尾部添加

数组.unshift(数据),数据可以是多个,头部添加

删除元素:

数组.pop()

数组.shift()

数组.splice(开始位置索引,删除几个[可选不写,全删],[可选]新增1,[可选]新增2。。。),可以添加也可以删除元素

数组排序

数组.sort(function(a,b){ return a-b}) 升序

 九 函数-function

函数是可以被重复使用的代码块,利于代码复用

9.1 函数的基本使用

定义函数: function 函数名(参数1,参数2.。。。){  return 结果}

调用函数:函数名()

参数:形参默认值是undefined,实参多传了不用,实际开发中尽量保持一致

9.2 逻辑中断

false && anything  左侧为真,返回右侧。 true && 20 结果是20,不是Java中的boolean值

true || anything 左侧为假,返回右侧。false || 20 结果是20,不是Java中的boolean值

逻辑中断解决默认参数问题

function getSum(x,y){
x = x || 0
y = y || 0
return x+y
}

9.3 函数返回值

没有return,默认返回的是undefined;return 后面不能换行

9.4 作用域

如果函数内部的变量没有声明,直接赋值,则是隐式全局变量,尽量不要这么用

9.5 变量的访问原则

就近原则

9.6 匿名函数

function (){}

匿名使用方式:

函数表达式:将匿名函数赋值给一个变量,并且通过变量名称进行调用,我们将这个称为函数表达式

let fn = function(){}

fn()

立即执行函数(IIFE):(匿名函数)();  (匿名函数());  分号不能少

创建函数的方式:函数表达式,函数申明

十 对象

10.1 对象

对象,object,包含属性和方法

对象.属性

对象.方法名()

let pig = {
uname:'xx',
sing: function(){}
}
pig.uname
pig.sing()

10.2 增删查改

对象.属性,对象['属性名']

对象.属性=新值

对象.新属性=新值

delete 对象.属性

10.3 遍历对象

for in 循环

for( let 变量名 in 对象){

  对象['变量名']

}

10.4 内置对象

document,console,Math

js math mdn