JS语法杂记
1.判断字符串是否包含某个字符串
2.判断字符串的类型
3.比较运算符
4.逻辑运算符
5.定时器
6.字符串切片操作
7.正则匹配
8.字典遍历
9.字符串拼接
10.判断某个字符串是否在该列表嵌套的字典中
11.列表遍历
1.判断字符串是否包含某个字符串
函数名: indexOf(xx)
xx代表要判断的字符串,如果这个字符串存在会返回该字符串首次出现的位置,如果不存在则返回 -1
eg:
var str1 = "abc";
console.log(str1.indexOf("b")) // 2 返回该字符串首次出现的位置
console.log(str1.indexOf("d")) // -1 没有找到字符串则返回-1
console.log(str1.indexOf("a") != -1); //true
2.判断字符串的类型
函数名:typeof(xx)
eg:
str1=123
typeof(str1) // 'number'
str2="abc"
typeof(str2) // 'string'
3.比较运算符
关键词 描述
== 等于
=== 全等(值和类型)
!= 不等于
> 大于
< 小于
>= 大于或等于
<= 小于或等于
eg:
var iNum01 = 12;
var sNum01 = '12';
if(iNum01==12){
alert('相等!');
}
else{
alert('不相等!')
}
// "==" 符号默认会将符号两边的变量转换成数字再进行对比,这个叫做隐式转换
if(sNum01==12){
alert('相等!');
}
else{
alert('不相等!')
}
// "===" 符号不会转换符号两边的数据类型
if(sNum01===12){
alert('相等!');
}
else{
alert('不相等!')
}
// 多条件判断
var sFruit = "苹果";
if (sFruit == "苹果") {
alert("您选择的水果是苹果");
} else if (sFruit == "鸭梨") {
alert("您选择的水果是鸭梨");
} else {
alert("对不起,您选择的水果不存在!")
}
4.逻辑运算符
关键词 描述
&& and
|| or
! not
eg:
var x = 6;
var y = 3;
var username = "";
if(x < 10 && y > 1){
alert('都大于');
}
else{
alert('至少有一个不大于');
}
if(x > 5 || y > 7 ){
alert('至少有一个大于');
}
else{
alert('都不大于');
}
if(!(x == y)){
alert('等于')
}
else{
alert('不等于')
}
// 判断值是否为空
if (!username){
alert("username的值是空的,请输入用户号")
}
5.定时器
方式一:
setTimeout(func[, delay, param1, param2, ...])
以指定的时间间隔(以毫秒计)调用一次函数的定时器 (只会执行一次)
方式二:
setInterval(func[, delay, param1, param2, ...])
以指定的时间间隔(以毫秒计)重复调用一个函数的定时器 (会一直重复执行)
参数说明:
第一个参数 func , 表示定时器要执行的函数名
第二个参数 delay, 表示时间间隔,默认是0,单位是毫秒
第三个参数 param1, 表示定时器执行函数的第一个参数,一次类推传入多个执行函数对应的参数。
setTimeout 使用方式一:
function hello(){
alert('hello');
}
// 执行一次函数的定时器
setTimeout(hello, 1000);
使用方式二:(使用箭头函数)
let num =1;
setTimeout(()=>{
num +=1;
alert(num)
},3000)
setInterval 使用方式:
function hello(){
alert('hello');
}
// 重复执行函数的定时器
setInterval(hello, 1000);
demo: 倒计时功能
let num = 10
var t = setInterval(() => {
if (num == 0) {
// 如果计时器到最后, 清除计时器对象
clearInterval(t);
console.log("结束")
} else {
num -= 1;
// 展示倒计时信息
console.log(num)
}
}, 1000)
6.字符串切片操作
关键词:slice
str1="hello_world"
console.log( str1.slice(1) ) // 切片下标是从1开始算起,而不是从0开始
// 'ello_world'
console.log( str1.slice(1,3) ) // 区间切片,第一个参数:起始位置, 第二个参数:结束位置,顾头不顾尾
// 'el'
7.正则匹配
// 头尾需要加'/' , 然后不需要加单双引号
let regular = /^([A-Za-z_0-9]){4,18}$/;
// 当检测符合返回true,不符合返回false
let value = regular.test("username123")
console.log(value)
8.字典遍历
const dict = {a: 1, b: 2, c: 3};
for (let key in dict) {
console.log(key); // 输出键名
console.log(dict[key]); // 输出键值
}
9.字符串拼接
示例1:
let name = "aaa"
console.log(`名称:${name}`)
示例2:
let name = "aaa"
console.log("名称"+name)
示例3:
let url= "https://www.baidu.com/"
let name = "百度"
// ` 需要使用反引号,不能用单引号
let content= `<a href="${url}" target="_blank">${name}</a>`
console.log(content)
let value = '/tool/testReport/detail?detail_id=' + row.data_id
10.判断某个字符串是否在该列表嵌套的字典中
let dictList = [
{ name: 'John', age: 25, address: 'New York' },
{ name: 'Mary', age: 30, address: 'Los Angeles' },
{ name: 'Bob', age: 35, address: 'Chicago' },
];
let nameToCheck = 'Mary';
let isInDict = dictList.some((dict) => dict.name === nameToCheck);
console.log(isInDict); // 输出 true
11.列表遍历
方法一:
const list = [1, 2, 3, 4, 5];
for (let i = 0; i < list.length; i++) {
console.log(list[i]);
}
方法二:
const list = [1, 2, 3, 4, 5];
list.forEach(item => {
console.log(item);
});
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。
文章标题:JS语法杂记
本文作者:伟生
发布时间:2023-01-02, 11:50:00
最后更新:2024-05-14, 21:54:02
原始链接:http://yoursite.com/2023/01/02/qianduan_05_js/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。