JS学习总结(一)

JS是弱类型语言,边解释边执行

JS引用方式:内嵌;外联;事件

JS输出方式:

alert(提示窗)不识别标签,会阻塞程序
conlose.log(控制台输出)不识别标签,方便调试
document.write(页面文档输出)

识别标签,会替换

JS注释:

//单行注释
/*       */多行注释

JS变量声明:var 变量名 = 值;

变量名命名规则:

  • 由数字,字母,下划线_,美元符号$,组成
  • 不能数字开头
  • 区分大小写
  • 不能使用关键字

数据类型:

number数字类型(int整数,float浮点数,NaN不是数字...)
string字符串("数据",'数据')
boolean布尔(true,false)
null
undefined未定义(只声明,未赋值)
...

运算符与表达式:

算术运算符赋值运算符比较运算符
+=>
-+=<
*-=>=
/*=<=
%求余数;取模/===比较值是否相等
**次方%=!=不等于
**====比较值和类型是否相等
++x++先使用,后运算!==值不相等
----x先运算,后使用
逻辑运算符&&   与;且||    或!   非
三元表达式bool表达式条件?值一:值二

类型转换:

  • 自动转换
‘10’-'5'5
"123456"*1123456
!"false"false
  • 强制转换

数字,布尔互相转换(Number(x),Boolean(x))

10true
-10true
0false
true1
false0

任意类型转字符串

String(x)x.toString()

字符串转换其他类型(有前提条件和要求):(parselnt(),parseFloat())

"abc"--booltrue非空字符串转换布尔    真
""--boolfalse空字符串转换布尔    假
'123a'--int123

paeseInt('123a')--->123

Number('123a')--->NaN

'1323.12'--float1323.12paeseFloat(x)

常用对话框:

alert(提示框)无返回值
confirm(确认提示框)返回bool
prompt(用户输入提示框)返回字符串

程序流程语句

  • 顺序结构:自上而下,自左向右执行
  • 选择结构:根据条件选择不同的执行语句
单分支if(条件){}
双分支

if(条件){

}else

多分支

if(条件一){

}else if(条件二){

}

....

else if(条件n){

}else{}

分支嵌套
Switch等...
  • 循环结构:重复执行的语句,实现重用的效果
while(){}do{}while()for()
  • 循环控制
break结束整个循环
continue结束本次循环,继续下一次循环

函数:为了完成某个功能的程序语句代码块

  • 函数作用:重复使用
  • 定义函数
function  函数([形式参数]){
        函数体
        return  返回值
}
  • 调用函数:函数名([实际参数])
  • 函数的参数:
  1. 形式参数:方法预定义的参数
  2. 实际参数:调用方法传递的值
  • 函数返回值

return  返回值   (返回上级调用者,结束方法)

  • 全局变量和局部变量
  1. 全局,声明在方法外部,其他方法公共使用(访问和修改)
  2. 局部,声明在方法内部,只有该方法使用(访问和修改)
  • 匿名函数:没有名字的函数(一般用于JS事件的绑定)
function(){}

!function(){}

~function(){}

()=>{}箭头函数
  • 计时器与定时器

计时器:按一定间隔时间,重复执行函数

var id = setInterval(函数名,时间,参数)
var id = setInterval(匿名函数中调用,时间,参数)
clearInterval(id) 清楚计时器

定时器:按一定延迟时间,执行一次函数

var id = setTimeout(函数名,时间,参数)
var id = setTimeout(匿名函数中调用,时间,参数)
clearTimeout(id) 清楚计时器
  • 递归:方法内部调用自身,有明确的出口;执行效率底。编写效率高
  • 闭包:方法内部声明方法,外部方法返回内部方法的引用,内部方法访问外部的全局变量

对象

  • Math对象
Math.PI
Math.abs()绝对值
Math.ceil()向上取整
Math.floor()向下取整
Math.round()四舍五入取整
Math.sin()/cos()/tan()三角函数
Math.asin()/acos()/atan()反三角函数
Math.pow()次方
Math.sqrt()开方
Math.max()最大值
Math.min()最小值
Math.random()随机数0-1
  • Date对象
var x = new Date() 当前时间对象
var x = new Date(2021,10,2,3,5,1) 自定义时间对象 2021.10.2 3:5:1
var x = new Date('2021-10-12 8:12:12') 自定义时间对象 2021.10.12 8:12:12
x.getFullYear()获得年
x.getMonth()获得月 0-11
x.getDate()获得日
x.getHours()获得小时
x.getMinutes()获得分钟
x.getSeconds()获得秒
x.getDay()获得星期几 0-6
x.getTime()获得时间戳
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值