美文网首页
# JS 字符串、箭头函数、生成器函数

# JS 字符串、箭头函数、生成器函数

作者: 北疆小兵 | 来源:发表于2019-07-25 10:30 被阅读0次

JS Chapter 1

Mac 下的Chrome 按什么快捷键调出页面调试工具

开发者工具:option+command+i
javascript控制台:option+command+j
或者按option+command+c也可以打开

字符串

  • fromChardCode /charCodeAt
  • repeat() 重复xx次字符串
  • includes(string s) 有点像indexOf 返回boolean值
  • includes(string s, int start) 第二个参数,从第几位开始
  • startsWith(string s) 以...开始
  • endsWith(string s) 以...结束
  • endsWith(string s,int end) 以...结束,第二个参数:从第几位结束, 例如 var str = "abcedfg", str.endsWith(str,2) 会返回为true
  • ${} 模板
  • 可以用show调用函数可以代替左括号右括号
function show(){
    console.log(1);
}
show``;
let f = 5;
let g=  10;
console.log(`${f + g}`)
  • 数组. find:循环出来所有的参数
    第一个参数:循环出来数组的所有内容
    第二个参数:循环出来下表
    第三个参数:循环出来数组本身
[1,2,3,4,5].find(function(x){
            console.log(x);
        });

函数

  • 箭头函数

functionName = x => x;
        console.log(functionName(2));

        var functionName2 = function(x ){
            return x;
        }
        console.log(functionName2(2));
        

其中functionName 代表函数名 ,第一个x党代表参数,第二个参数代表返回值

show = () =>{
    console.log(1);
}
show``;

show函数没有传递参数,  可以像上面这么写

[1,2,3].find(function(x){
            console.log(`find1: ${x}`);
        });

        [1,2,3,4].find(x =>{
            console.log(`find2: ${x}`);
        });

        [1,2,3,4].find((x,y,z) =>{
            console.log(`find4: ${x},${y},${z}`);
        });
  • 点击事件: ()代表参数,没有参数写空括号,有参数时将参数用()包起来
 document.onclick=function({     
   document.body.style.background='red';
}

document['onclick'] = () =>{            
document.body.style.background='red;
}

  • 匿名函数
(function(){
        alert(1);
})()


let x = 10;
((x) =>{
    console.log(x);
})(x)
        
  • 延展参数,可以延展任何参数,array,string,number
    如果传了参数,就执行传递的参数,没有传参数时,以默认的x=5为准
function show2(x=5){
            console.log(x);
        }
        show2();
        show2(3);

  • 扩展运算符 ... 函数中的参数用 ...x
    代表实参为数组 进来的 x变量,在数组中可以起到合并数组
    输出2,3,4, 因为前面参数y占了一个参数,...表示剩下的都赋值给这个参数
function yanzhan(y, ...x){
    console.log(x);
}
yanzhan(1,2,3,4);

  • 申明方式 let /const 变量不允许重复申明,但可以重复赋值,可以防止变量泄漏
for(var i = 0; i <5;i++){

        }
        console.log(i); //i 会泄漏,输出5,相当于var是全局的

for(let j = 0; j <5;j++){

        }
        console.log(j);//Uncaught ReferenceError: j is not defined
    at


  • const 常量,不允许重复声明,也不允许重复赋值
     const a = 10;
        a = 20;
        console.log(a); //会报错 Uncaught TypeError: Assignment to constant variable
  • repeat

let div = `<div></div>`;
        document.write(div.repeat(5));
  • querySelectorAll
    在未学习querySelector之前 是这么拼接的
var c = [];
        var d = document.getElementsByTagName('div');
    for(var i = 0;i < d.length; i++){
            c.push(d[i]);
        }
        console.log(c);

querySelectorAll写法

console.log([...document.querySelectorAll('div')]);

生成器函数

  • function* 函数名(){}
  • yield 有点类似于return
function* show(){
            yield () =>{
                console.log(1);
            }
            yield function(){
                //alert(2)
                console.log(2);
            }
        }
        //console.log(show())
        var k = show();
        k.next().value();
        k.next().value();

  • 对象中的get和set {}可以有个set和get方法,方法名后放名字,如果执行这个名字不赋值的情况下,会走get, 例如下面
    json.Leo = 1会输出1, json.Leo会输出2

    
    var json = {};
        json = {
            set Leo(x){
                console.log(1);
            },
            get Leo(){
                console.log(2);
            }
        }
        json.Leo = 1; //输出1
        json.Leo;     //输出2
        
        
        
        var json2 = {};
        json2 = {
            set Leo(x){
                console.log(1);
            },
            get Leo(){
                return{
                    get LiBai(){
                        console.log(3);
                    }
                }
            }
        }
        console.log(json2.Leo.LiBai);  //输出3
    

相关文章

  • 写更漂亮的javascript

    用更合理的方式写 JavaScript 目录 声明变量 对象 数组 字符串 函数 箭头函数 模块 迭代器和生成器 ...

  • # JS 字符串、箭头函数、生成器函数

    JS Chapter 1 Mac 下的Chrome 按什么快捷键调出页面调试工具 开发者工具:option+com...

  • ES6

    let 和const 解构赋值 字符串模板 字符串扩展函数 对象的简化写法 箭头函数 箭头函数的this 三点运算...

  • 箭头函数和普通函数的区别

    定义 变量提升 由于 js 的内存机制,箭头函数需要先定义后调用 构造函数 箭头函数作为匿名函数,不能作为构造函数...

  • js ------ function* 生成器函数

    function* 生成器函数 文档 JS函数生成器,function* () {}, 项目中的使用情景

  • ES6箭头函数简介

    @(JS技巧)[ES6|箭头函数] ES6箭头函数(Arrow Functions) ES6可以使用“箭头”(=>...

  • js函数&箭头函数

    1⃣️ 函数前提 2⃣️ 箭头函数1)this 指向定义时所在的对象,而不是调用时所在的对象 2)不可以当作构造函...

  • [JS函数] 箭头函数

    箭头函数 箭头函数就相当于匿名函数 使用方法和匿名函数相同。注意返回一个对象的时候加上()。对象的{}可能会与函数...

  • [译]JS箭头函数三连问:为何用、怎么用、何时用

    [译]JS箭头函数三连问:为何用、怎么用、何时用在现代JS中最让人期待的特性就是关于箭头函数,用=>来标识。箭头函...

  • ES6 要点梳理

    模板字符串、多行字符串 函数默认值、解构函数 集成原型新方式:object.create 箭头函数 promise...

网友评论

      本文标题:# JS 字符串、箭头函数、生成器函数

      本文链接:https://www.haomeiwen.com/subject/xlucrctx.html