文章目录
- 1. JS基中基
- 1. 注释
- 2. 弹窗
- 3. 引入JS代码
- 4. JS的基本数据类型
- 5. 变量
- 6. 字符串的操作
- 2. 条件分支
- 3. 循环
- 4. JS中的函数
- 1. 闭包函数(自运行函数)
- 5. 定时器
1. JS基中基
1. 注释
- HTML的注释
<!–
–> - JS的注释
// 单行注释
/*
*/多行注释
2. 弹窗
alert(“我是弹窗”)
<script>alert("我是弹窗")</script>
3. 引入JS代码
<script src="文件.js">alert("我是弹窗")</script>
4. JS的基本数据类型
1. number数字,不论是整数还是小数,数据类型都是number
2. string字符串,这个没啥可聊的.就是很单纯的字符串
3. boolean布尔值,只有两个,true和false.注意不是大写T和F.
4. object对象,这个比较特殊.你可以理解为所有被new出来的东西都是对象
5. undefined,这个表示未定义.所有没有被定义过的东西默认都是该类型
- number && string
<script>
//控制台打印
console.log()
//打印数据类型
console.log(typeof())
</script>
<script>
// string转化成number
parseInt(str)
// number转化成string
num.toString()
</script>
- boolean
<script>
console.log(a==b) // == 判断两端的值
console.log(a===b) //判断两端的值+数据类型
//三元表达式
var c = a > b ? a : b //如果a>b成立c=a,不成立c=b
</script>
5. 变量
<script>
var a = 10;
alert("我是弹窗"+a)
</script>
变量本来在后面的,但是由于代码需要变量,将代码声明提升到代码前面
//原代码
console.log(name)
var name = "我是需要打印的代码"
//时机变量提升的代码
var name
console.log(name)
name = "我是需要打印的代码"
- 使用let 声明变量可以避免变量提升
- 在同一个作用域内,不允许声明同一个变量
console.log(name)
let name = "我是需要打印的代码"
6. 字符串的操作
- s.split() 字符串切割
- s.substr(start,len) 字符串切割,从start开始切,切len个字符
- s.substring(start,end) 字符串切割,从start切割到end
- s.length 字符串长度
- s.charAt(i) 第i索引位置的字符
- s.indexOf(‘xxx’) 返回xxx的索引位置,如果没有x××.则返回-1
- s.includes(“xxx”) 判断xxx是否出现在s中.
- s.toUpperCase() 转换成大写字母
- s.startsWith(“xxx”) 判断是否以xxx开头
2. 条件分支
- if的语法
//语法
if (条件){函数体}
<script>
var a = 8;
var b = 9;
if (a<b){
console.log(a + "小于" + b)
}
</script>
- switch的语法
<script>
var s = 1;
switch (s) {
case 1:
console.log("一月")
braek //避免case穿透
case 2:
console.log("二月")
}
</script>
3. 循环
- while 语法
/*
while (条件){
循环体
}
*/
<script>
var i = 1;
while (i<=10){
console.log("当前的时间")
i++;
}
</script>
- for循环
/*语法
for (初始循环条件;条件表达式;改变循环变量){
循环体
}
*/
<script>
for (i=1;i<=10;i++) {
console.log("打印"+i+"次日志")
}
</script
- for 循环的另一种写法
<script>
var lst = ["Jack","Lucy","Mary","ChuaChua"]
for (var item in lst){
console.log(lst[item])
}
</script>
4. JS中的函数
/*
语法:
function 函数(参数1,参数2){
函数体
}
*/
<script>
function add (num1,num2){
console.log("计算"+ num1 + "+" + num2 )
return num1 + num2
}
res = add(5,5)
console.log("最终计算结果"+res)
</script>
- 自运行函数
/*语法
(function (参数1,参数2){
函数体
})()
*/
<script>
(function (num1,num2){
console.log("计算"+ num1 + "+" + num2 + "等于"+ (num1 + num2))
})(5,5)
</script>
1. 闭包函数(自运行函数)
变量在JS中容易被修改,在JS中定义变量很危险,一般使用闭包
(function (){})()
(function (){
var name = "jack";
console.log(name)
})()
//使用闭包中的函数
return
//使用闭包完成简单的加密
<script>
let encrypt = (function(){
let key = "JIAMI"
let process = function(data){
console.log("对数据" + data + "加密处理")
return data + "处理完毕"
}
return {
RSA_encrypt:function(data){
process(data)
let res = "RSA加密后的密文:" + key + data + "***"
console.log(res)
return "RSA加密后的字节" + res
},
MD5__encrypt:function(data){
process(data)
let res = "MD5加密后的密文:" + key + data + "***"
console.log(res)
return "MD5加密后的字节" + res
},
SHA1__encrypt:function(data){
process(data)
let res = "SHA1加密后的密文:" + key + data + "***"
console.log(res)
return "SHA1加密后的字节" + res
}
}
})()
encrypt.RSA_encrypt("需要加密的string")
</script>
5. 定时器
setTimeout(function(){},2000) **秒后执行函数
<script>
//几秒后执行**操作
var t = setTimeout(function(){
alert("我是一个2秒后,弹出的弹窗")
},2000)
//清除弹窗
window.clearTimeout(t)
</script>
setInterval(function(){},2000) 每隔xx秒执行函数
<script>
//每隔xx秒执行函数
setInterval(function(){
console.log("嘻嘻,我每隔2秒就会出现")
},2000)
</script>
- 时间格式
<script>
let tm = function(){
var now = new Date();//创建时间
console.log(now)
let year = now.getFullYear(); //获取年份
let month = now.getMonth() //获取月份
let day = now.getDate() //获取日期
let hour = now.getHours() //小时
let minute = now.getMinutes() //分钟
let second = now.getSeconds() //秒
return "当前时间:" + year +"-"+ month +"-"+ day +"-"+ hour +":"+ minute +":"+ second
}
console.log(tm())
</script>