zoukankan      html  css  js  c++  java
  • ES6语法(一)

    对于ES6中的一些基础语法,包括对数组/对象/函数/字符串的操作,chroem已经支持了这些语法

    // var a = '你'
            // console.log(a.length)
            let a = 'nihao'
            console.log(a)
            let str = "string"
            console.log(str.startsWith('i'))
            {
                let name = "list";
                let info = "hello world";
                let m = `i am ${name},${info}`;
                console.log(m)
            }
            {
                // 例如日期补0
                console.log('1'.padStart(2,'0'))
                console.log('1'.padEnd(2,'0'))
            }
            {
                let user = {
                    name: "list",
                    info: "hello world"
                }
                console.log(abc`i am ${user.name},${user.info}`)
                function abc(s,v1,v2) {
                    console.log(s,v1,v2);
                    return s + v1 + v2;
                }
            }
            {
                console.log(String.raw`hi
    ${1+2}`)
                console.log(`hi
    ${1+2}`)
            }
    
        
            {
                console.log(Number.isFinite(15))
                console.log(Number.isFinite(NaN))
                console.log(Number.isFinite('true'/0))
                console.log('NaN',Number.isNaN(NaN))
            }
    
            {
                console.log(4.1,Math.trunc(4.1)) //4
                console.log(4.9,Math.trunc(4.9)) //4
            }
            {
                console.log('-5',Math.sign(-5)) //-1
                console.log('0',Math.sign(0)) //0
                console.log('5',Math.sign(5)) //1
                console.log('5',Math.sign('5')) //1
            }
    
            /*--数组扩展--*/
            {
                let arr = Array.of(3,4,7,9,11)
                console.log(arr)
            }
            {
                let p = document.querySelectorAll('p')
                let pArr = Array.from(p)
                pArr.forEach((item)=>{
                    console.log(item.textContent)
                })
            }
    
            {
                // 填充数组
                console.log([1,'a',undefined].fill(7))
                console.log([1,'a',undefined].fill(7,1,3))//fill内参数,第一个为替换的数值,第二和第三为起止位置
            }
        
            {
                for (let index of ['11','22','32'].keys()) {
                    console.log('keys',index)//返回数组下标
                }
                for (let value of ['11','22','32'].values()) {
                    console.log('keys',value)//返回数组内的值
                }
                for (let [index,value] of ['11','22','32'].entries()) {
                    console.log('keys',index,value)//返回数组值和下标
                }
            }
            {
               console.log([1,2,3,4,5].copyWithin(0,3,4)) //第一个参数起始位置,第二个和第三个是要替换的数值起止位置
            }
            {
                console.log([1,2,3,4].find((item) => {
                    return item > 3//只找到符合条件的第一个值
                }))
                console.log([1,2,3,4].findIndex((item) => {
                    return item > 3//只找到符合条件的第一个下标
                }))
            }
            {
                console.log([1,2,NaN].includes(1))//类似字符串中的indexOf
            }
    
            /*----函数扩展-----*/
            {
                function test(x, y = "hello") {
                    console.log(x, y)
                }
                test('你好')//如果没有传入y值则默认为‘hello’
            }
            {
                let x = 'test';
                function test2(x, y=x) {
                    console.log(x,y)//作用域,在开始已经定义了x值,y=x,y值取函数中的参数值
                }
                test2('world')
            }
            {
                function test3(...arg) {
                    for (let v of arg) {
                        console.log(v)//rest参数
                    }
                }
                test3(1,2,3,4,'a')
            }
            {
                let a = [1,2,3]
                let b = [4,5,6]
                console.log([...a,...b])//数组合并
            }
            {
                let arrow = v => v*2;
                console.log(arrow(3))
            }
            {
                function tail(x){
                    console.log(x)
                }
                function fx(x) {
                    return tail(x)//伪调用,提升性能
                }
                fx(123)
            }
            /*----对象扩展-----*/
            {
                let o = 1;//简单表示法
                let k = 2;
                let es5 = {
                    o: o,
                    k: k
                }
                let es6 = {
                    o,
                    k
                }
                console.log(es5,es6)
                // 对象内函数
                let es5_methods = {
                    hello: function(){
                        console.log("hello")
                    }
                }
                let es6_methods = {
                    hello(){
                        console.log('hello')
                    }
                }
            }
            {
                // 属性表达书
                let a = 'b';
                let es5_obj  = {
                    a: 'c'
                }
                let es6_obj = {
                    [a]: 'c'//在es6中的key值是可以变的,可以是一个变量
                }
                console.log(es6_obj)
            }
            {
                // 新增APi
                console.log(Object.is('abc','abc'),'abc' === 'abc')
    
                console.log(Object.assign({a:'a'},{b:'b'}))//拷贝,第一个参数是要拷贝的对象上,第二个参数是要拷贝的值
    
            }
     
  • 相关阅读:
    许可和授权的研究及其破解
    Citect:How do I translate Citect error messages?
    异步IO模型和Overlapped结构
    SanDisk SecureAccess™ Software
    Asynchronous socket communication
    一种字节转字符串的语法
    【转载】C# Tutorial
    保存项目文件“XXX.csprj”时出错。类没有注册。
    markdown中的注释
    ubuntu上nginx详细安装部署教程
  • 原文地址:https://www.cnblogs.com/0828-li/p/9573036.html
Copyright © 2011-2022 走看看