欢迎光临散文网 会员登陆 & 注册

千锋web前端开发项目教程_1000集完全零基础入门HTML5+CSS3+JS到

2023-07-12 11:36 作者:星辰辰鸢  | 我要投稿

1.正则相关函数

// 正则对象的相关方法

# test
# 功能:判断目标字符串是否满足正则对象
# 参数:test(目标字符串)
# 返回值:布尔值
// var str = "bbbbc";
// console.log(reg.test(str));

# exec
# 功能:返回值目标字符串满足正则对象的子串
# 参数:exec(目标字符串)
# 返回值:满足条件的子串,存储的数据放在长度为一的数组中

# 修饰符:g
# glabal全局,会记录每次运行的位置,下一次作为起始位置
// var reg = /\d+/g;
// var str = "a111b2222c333d4444";
// console.log(reg.exec(str)[0]); //111
// console.log(reg.exec(str)[0]); //2222
// console.log(reg.exec(str)[0]); //333

# search方法 返回与正则表达式查找内容匹配的第一个子字符串的位置
# 用法:str.search(reg)

# 修饰符:i
# 忽略大小写
// var str = "Hello Cai Xu Kun";
// var reg = /cai/i;
// console.log(str.search(reg));

# replace 批量替换内容
// var str = "wangtongjian de ge bi shi wangtongjian";
// str = str.replace(/wangtongjian/g,"caixukun");
// console.log(str);

# match:返回满足正则对象的子串(exec的强化版)
// var reg = /\d+/g;
// var str = "a111b2222c333d4444";
// console.log(str.match(reg));

2.let

let标识符;功能和var一样,都是用来定义变量的关键字
var具备变量声明提升

# 1.必须先定义后使用
// console.log(a);
// let a = 123;

# 2.不能定义重复变量
// var a = 123;
// var a = 456;
// let a = 123;
// let a = 456;

# 3.块级作用域:在块级作用域下->该变量不被丢失,也不能被外界使用
// let oLis = document.getElementsByTagName("li");

// for(let i=0; i<oLis.length; i++){
//  oLis[i].onclick = function(){
//    console.log(i);
//  }
// }

# 4.暂时性死区:当内部变量与外部变量同名时,内部变量屏蔽外部变量
// let a = 123;

// {
//  let a = 456;
//  console.log(a);
// }

3.const

# const标识符;修饰只读变量的关键字
# 1.只读变量
// const a = 123;
// a = 666;
// console.log(a);

# 2.被const修饰的常量,必须初始化
// const a;
// a = 123;

# 3.块级作用域
# 4.暂时性死区
# 5.不能重复定义
# 6.必须先定义后使用

# 面试题?
# var,let,const的异同?
# 1.都是用来定义变量的关键字
# 2.var拥有声明提升
# 3.const修饰只读变量,且必须被初始化
# 4.let和const都具备
  # a.块级作用域
  # b.暂时性死区
  # c.不能重复定义
  # d.必须先定义后使用

const arr = [5,4,6,3,7,8];
arr[1] = 0;
console.log(arr[1]);

arr = [111];
# 注意事项:const修饰栈空间

4.this指向

# this:函数体内的内置对象->作用域为各种函数体
# 1.当this与事件体连用,代表触发该事件的元素本身
// document.onclick = function(){
//  console.log(this);
// }

// var oInput = document.querySelector("input");

// oInput.onblur = function(){
//  console.log(this.value);
// }

# 2.当this与普通函数(除了事件体和构造函数)连用,代表调用该函数的对象本身
// function fun(){
//  console.log(this);
// }

// window.fun();

// let data = {
//  "name":"李玟",
//  "f":function(){
//    console.log(this);
//  }
// }

// data.f();

# 3.当this与箭头函数连用时,代表其父元素的前缀
# 4.与构造方法连用,代表new出来的对象

5.bind

# 需求:改变this的指向
# bind改变this的指向
# bind是函数对象的函数
# 函数对象.bind(被修改的this指向)

// let fun = function(){

// }

// fun == function(){}
// fun.bind() == function(){}.bind();

6.JSON.parse_JSON.stringify

# json对象和字符串的相互转换

let data = {
  "name":"ikun",
  "age":23
}

# 注意事项:无论是对象还是字符串,key都必须添加双引号
# 对象转json字符串
let str = JSON.stringify(data);
console.log(typeof str);

# json字符串转对象
let str1 = `{
  "name":"ikun",
  "age":23
}`
console.log(JSON.parse(str1));

//------------------------------------------
# ES6模板字符串添加变量
# 1.支持换行
# 2.ES6模板字符串添加变量:${变量}
# 字符串 "" '' ``
var oUl = document.querySelector("ul");
var test = "hahah"
oUl.innerHTML = `
  <li class='heihei'>
    <span id='${test}'>iKun</span>  
  </li>
  <li>11</li>
  <li>11</li>
  <li>11</li>
`

for(var i=0; i<10; i++){
  oUl.innerHTML += `<li>${i}</li>`;
}

7.for...in和for...of

# for...in:遍历容器的下标,通常只用于遍历json

# for...of:遍历容器的内容(不能遍历json),主要遍历没有下表的容器(set和map)
var arr = [6,4,7,3,8];

for(let item of arr){
  console.log(item);
}

8.ES6新增查询字符串API

// 判断字符串是否包含在另一个字符串中
// 在ES5 中使用的是 indexOf() 方法,在ES6中可以使用includes()、startsWith()、endsWith()三个方法。
// str.includes(参数): 返回布尔值,表示是否找到了参数字符串。
// str.startsWith(参数):返回布尔值,参数是否在源字符串的头部。
// str.endsWith(参数): 返回布尔值,参数是否在源字符串的尾部。

// var str = "cai xun kun yingyingying.js";
// console.log(str.includes("c111ai"));
// console.log(str.startsWith("cai123"));
// console.log(str.endsWith("123.js"));

//-----------------------------
// 中文生僻字
let str = "𡱖"; //21c56
console.log(str.charAt(0));
console.log("\u{21c56}");

9.箭头函数

# 箭头函数是匿名函数的另一种写法
# this的第三用法:当this与箭头函数连用时,代表其父元素的前缀

// document.onclick = ()=>{
//  console.log(this);
// }

// function fun(){
//  if(){
//    this
//  }
// }

// xxx.fun();

// let data = {
//  "name":"李玟",
//  "f":()=>{
//    console.log(this);
//  }
// }

// data.f();

//-------------------------
# 1.当箭头函数只有一个参数时,可以省略参数的小括号
// let fun = a=>{
//  return a + 10;
// }
// console.log(fun(56));

# 2.当箭头函数只有一条语句,可以省略花括号
// let fun = a=>console.log(a+10);
// fun(5);

# 3.当箭头函数只有一条语句,自带return
let fun = a=>a+10;
// function(a){
//  return a + 10;
// }
console.log(fun(8));


千锋web前端开发项目教程_1000集完全零基础入门HTML5+CSS3+JS到的评论 (共 条)

分享到微博请遵守国家法律