IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> ES6介绍 -> 正文阅读

[游戏开发]ES6介绍

let命令

let 关键字用来定义变量

let 的特性:

a.不能够重复定义

b.不存在变量提升

c.存在块级作用域

b.不存在作用域链问题

ES6 中 let

 <script>
         //测试一
           var name = "admin"
           var name = "root"
           console.log(name);//结果:root


        /*
           //测试二
           let name = "admin"
           let name = "root"
           console.log(name);//结果:报错
        */

        /*
            测试三
            console.log(name); //结果,报错
            let name = "admin"
        */
        
        

        /*
            //测试四
            {
                let i = 20
            }
            console.log(i)  //报错 (因为块级作用域,没有在括号里,所以报错)
        */

    </script>

变量

<script>
        //1.ES5中定义变量 变量名的规则
        //var name = "任嘉伦";

        //2.ES6中定义变量 使用let 关键字
        let name = "任嘉伦" 
        //ES6新特性1: 不能狗重复声明
            /*
            let name = "任嘉伦"
            let name = "赵露思" //会报错
           */
        //ES6新特性2: 块级作用域
            /*
            循环结构  for(){}    while(){}     do(){}
            选择结构  if(){}     if(){}else{}  if(){}elseif(){}.....else    switch(){}    
            函数      function fun_name(){}        
            */

            {
                let num  = 12;
            }
            //console.log(num); //结果:报错
        //ES6新特性3:  没有变量提升
            //ES6方法
            console.log(color); 结果: 报错
            let color = 'red'

            //ES5方法
            /*
            console.log(color); 结果: undefined
            var color = 'red'
            */
            
    </script>

关于const

const 是用来声明常量,常量就是固定不变的量,在我们开发的过程中当一个变量希望它的值在声明以后,不被(自己或他人)改变。

语法: const 常量名称 = 值

注意:

常量的值一旦定义不能被修改

常量的名称一般使用大写

常量在定义时必须赋值

不允许重复定义的

块级作用域

const 常量

  <script>
        //定义一个常量PI
        const PI=3.14   //常量在定义时必须赋值
           console.log(PI);

        //const 定义的对象或数组时,可以修改对象和数组中的元素值,不能直接修改
        const ARR = ['zhangsan','lisi']
        ARR[1] = ['李四']
        ARR[2] = '王五'
        console.log(ARR)
        
    </script>

for 的经典例案例

    <script>
        var arr =[];//定义了一个空数组
        for(var i=1; i < 10; i++) {
            // //循环体
            arr[i] = function () {
                 //  //将i的值返回到外边(函数)
                return i;
             }
        }
        console.log(arr[4]());//结果:10
    </script>

单击变色


   </style>
 </head>
<body>
    <div class="container">
        <h2>点击换色</h2>
        <div class="item">one</div>
        <div class="item">two</div>
        <div class="item">three</div>
        <div class="item">four</div>
    </div>
    <script>
        //1.获取到需要绑定单击事件的标签
        var divObj = document.getElementsByClassName("item")
        //2.给标签绑定单机事件
        for(var i = 0;i<divObj.length;i++){
            console.log(i);
            divObj[i].onclick=function(){
                //alert(i)
        //3.改变div的背景颜色 this表示当前这个对象
            this.style.backgroundColor = 'cyan'
            }
        }

        /*
        console.log(divObj);
        divObj[0].onclick = function(){
            alert(0)
        }
        divObj[0].onclick = function(){
            alert(10)
        }
         */
   
        //扩展:点击时随机颜色
        //     两个颜色之间互相切换
     
        
       
    </script> 

解构赋值

数组解构赋值

对象解构赋值:

a.等号的左侧要使用或括号( {} )包裹变量名

b.变量名要和对象中要解构的属性名保持一致

c.等号右侧就是要解构的对象

字符串解构赋值

ES6 简化赋值

   <script>
        //1. es5 赋值方式

        /*
        var name = "张三"

        var age;
            age = 20
        
        var a = 5;
            a = age+a
        */

        //2.ES6中的解构赋值 目的在于可以简化同时定义多个变量并赋初
            /*var num1 = 12;
            var num2 = 13;
            var num3 = 15;
            var num4 = 20;
            var num5 = 23;
            */

            /*
            //ES5(js)方法  (不是很简化)
            var num1 = 12,num2 = 13, num3 = 15,num4 = 20,num5 = 23
            */

        //ES6解构赋值的用法 (比ES5更简化)
        let[num1,num2,num3,num4,num5] = [12,13,15,20,23]
        // console.log(num1);
        let[name,age] = [18,'zhangsan']
        console.log(age);//结果:zhangsan
    </script>

不完全解构

 <script>
        //1.变量名比等号右侧的值少,且没有其他特殊处理,多出的值会被忽略
        let [a,b,c] = [10,15,17,23,31]  //结果: a是10   b是15  c是17

        //2.变量名比等号右侧的值多,多出的变量名值为 undefined
        let [a1,b1,c1] = [10,15] //结果: a1是10  b1是15  c1是undefined
        //console.log(c1);

        //3.剩余运算符(...),会将剩下的值以数组的方式存储到c2变量中
        let [a2,b2,...c2] = [10,15,17,23,31] //结果: a2是10 b2是15 c是2
        console.log(c2);

        //4.默认值,当等号左侧的变量设置了默认值,在等号右侧又可以找到
        let [a3,b3,c3=`default`] = [10,15,zhangsan]   
        console.log(c3);//结果: zhangsan

        //5.undefined 和 unll
        let [test = 12] = [undefined] 
        console.log(test);//结果: 12

        let [test = 12] = [unll] 
        console.log(test1);//结果: null
    </script>

对象的结构赋值

 <script>
        //js如何定义对象,对象中有属性和值()  属性名:值属性
        let obj = {
           name:"任国超",
           age:18,
           sex:1,
           study:function(){}
        } 
        //使用对象中的某个值: 对象名称.属性名
        obj.age //访问对象中的属性
        obj.study() //调用方法

        //对象的解构赋值
           /*注意:
           a.等号的左侧要使用花括号( {} )包裹变量名
           b.变量名要和对象中要解构的属性名保持一致
           c.等号右侧就是要解构的对象
           */
        let obj1 = {
           name:"任国超",
           age:18,
           sex:1,
           study:function(){}
        }
           let {name,age} = obj1
           console.log(name);
 </script>

?

运算符复习

 <script>
        /* 
        运算符:帮助我们完成业务逻辑
        运算符号的分类:
        算数运算符 
        +  -  *   %   ++  --

        比较运算符 
        >  <  >=  !=  ==  !==  ===
        =   表示赋值,就是把等号右边赋值给等号左边的变量
        ==  表示比较,如果两边的值相等,返回true,否则返回fale
        === 表示比较,两边的值和数据类型都是相同,返回true,否则返回fale

        赋值运算符 
        =  +=  -=  *=  /=  %=
        a+=b 等价于 a = a+b

        逻辑运算符
        注:大多数情况都会用在条件里边
        && 只有当两边的条件都为真时,整体返回true,其他情况全返回false
        || 只有当两边的条件都为假时,整体返回false,其他情况全返回true
        !  非真即假 非假即真
                 
        字符串拼接运算
        注:变量和字符串拼接
        5+5    //结果 10
        10+'5' //结果 105  因为是拼接运算,所以是将+号两边拼接为105

        三元运算符
        条件?条件为真的执行:条件为假的执行

        */

        //取余运算 %    例: 4%5余数是4
        //++ -- 注意:参与运算的是一个变量 
        var num = 10 
        num++ //num =11 
        
        var num = 10 
        ++num //num =11  // num++ 和 ++num 对于num这个变量来讲没有任何区别

        var res = ++num  //num = 11 res = 11
        var res = num++  //num = 11 res = 10
        

        //15*'zhangsan'  //结果:NaN
        //NaN+NaN        //结果:NaN
    </script>

ES6 运算符拓展

  <script  >
        //指数运算符 符号 ++
        // 5的3次方 
        console.log( 5**3);

        //指数赋值运算符 符号 **=
        var a = 2;
        a**=4  //等价于 a = a**4
        console.log(a);

    </script>

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-03-11 22:32:23  更:2022-03-11 22:32:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 14:24:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码