一 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}岁了`)
字符串截取:substring(idx1,idx2?),idx是索引,左闭右开,右可选
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}) 升序
数组分割
数组.join(分割符号), let arr=['a','b'] ,arr.join('')结果是ab,默认是“,”分割
数组遍历:
数组.forEach(function(item,index){}),function是回调函数,item是数组每个元素,index是索引
数组.map(function(数组每一项,数组索引){ return newEle}),遍历数组,并且返回个新数组,拼接数组用map+join
九 函数-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