JS-1(基础)
概念:
包含ECMAScript(基础语法)、Web APIs(Dom(文档)、BOM(页面))
语法:
输出:
document.write:输出文本,内容可带标签
alert:页面弹出警告对话框的内容
console.log:开发工具后台检查用(日志)
prompt:展示一个对话框,提示用户输入内容,获得的内容默认为字符串
变量:
声明变量:let 变量名,只可声明一次
声明常量:const 常量名,必须赋值
数据类型:
number:数字型,包括正负整小
string:字符串型,推荐用单引号,引号嵌套
模板字符串:`输入文本${这里面写变量名}`(反引号括起来)
boolean:布尔型
underfined:未定义型,用于查询用户是否将内容传递
null:空类型,当这个变量后续为对象时设
object:对象
无序数据的集合
属性:let 对象名{属性名: 属性值,方法名: 函数} 逗号换行,属性名可用单引双引无引号包裹
方法:方法名: function(){}
属性使用:
增:写新属性名,等号赋新值
删:delete 属性
改:选中属性,等号赋新值
查:对象名.属性(同结构体),对象名[属性名](有引号的属性这样查)
遍历:for(let k in obj){} ,此处的k为带引号的属性,应该用对象名[属性名]
typeof:检测数据类型
运算符:
算术运算符:
加号两边其一为字符串则为两个字符串相加(隐式转换)
加号单用则可将字符串转换为数字
减号除号乘号两边其一为number,则为两个number的运算
显示转换:
Num(变量):字符串转数字
parseInt(变量):向下取整,忽略末尾字母
parseFloat(变量):转小数,忽略末尾字母
赋值运算符
一元运算符:'+'、'++'、'--'
前置自增、后置自增,区别为用于运算时后者会先运算
比较运算符:>、<、>=、<=、==、===(NaN与任意都不等包括自身)、!==
逻辑运算符:&&,||
运算符优先级
表达式:可求值
语句:代码,不一定有值,执行操作
流程语句:
顺序
分支:
if同C++
条件 ? 满足条件时执行代码 : 不满足条件时执行代码(一般用于取值)
switch同C++,case后的内容严格遵守”===“
循环(用于布置结构相似的页面布局):
断点调试
循环(数组使用.length):while、for同C++
数组:可new Array或直接let
增:数组名.push(内容)加在数组最后、数组名.unshift(内容)加在数组开头
删:数组名.pop()删除数组最后一个、数组名.shift()删除数组最前一个、数组名.splice(开始引索, 删除个数)
改:等号赋值
查:下标、引索
函数:
function 函数名(变量) {} 给括号内的变量赋值,若调用时无传参则所赋值为默认值
return返回单个值,但可以用return [] 以数组的形式返回多个值,可以反引号返回字符串
同函数名,后者覆盖前者,多余实参忽略,缺失实参补underfined
在函数内声明的变量为全局变量
先在函数内找变量声明,若无再看全局
可以用变量储存未命名函数体(函数表达式)
立即执行函数:(function(){函数体})() 或(function(){}())强制要求分号结尾,避免全局变量污染,后一个括号表调用函数,function 后可以空格隔开补充其函数名(也可以无)
逻辑中断:逻辑运算符左边为可判断结果则不往后,(function(x,y){x=x||0;y=10||0}(n,m))作用同默认值操作
Math:
random:生成[0,1)的随机数
0~10:Math.floor(Math.random()*(10+1)) ”+1“因为后开为取到最后一个
N~M:Math.floor(Math.random()*(M-N+1))+N
ceil:向上取整
floor:向下取整
round:四舍五入(负数的0.51往后才到下一个整数
基本数据类型(值类型):值存放到栈
复杂数据类型(引用类型):地址存在栈,值存在堆