<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script src="js/browser.min.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            'use strict';
            //const用来声明常量
            const PI = 3.1415926;

            //const PI = 3;    //报错
            //var PI;    //报错
            //const foo;    //必须立即初始化

            //const只对声明的块级作用域内有效
            if(true){
                const MAX = 6;
            }
            //alert(MAX);    //MAX is not defined

            var message = "hello";
            var age = 25;
            //不能重复声明变量
            //const message = "aaa";    //报错
            //let age = 26;    //报错

            //如果是对象或者数组,只能保证地址不变,但是变量的值可以变
            const foo = {};

            foo.prop = 123;
            console.log(foo.prop);    //123

            //foo = {}//地址改变了,所以报错了

            //如果真的想冻结一个对象,可以使用Object.freeze
            const foo2 = Object.freeze({});
            //foo2.prop = 123;    //报错

            //对象彻底冻结的方法,即属性也冻结
            var constantize = (obj) =>{
                Object.freeze(obj);
                Object.keys(obj).forEach(key , value) =>{
                    if(typeof obj[key] === 'object'){
                        constantize(obj[key]);
                    }
                }
            }
            //没理解这上面写的啥玩意

        </script>
    </body>
</html>

es6 const的更多相关文章

  1. es6(const、let)

    首先我很好奇,明明现代浏览器支持ES6.ES7不是那么好,为何还推行? var let const 有何区别?它们之间的限制又是什么?且听我娓娓道来 1. var 和let的关系,为何推荐let? ( ...

  2. ES6 const用法

    1.const声明一个只读的常量.一旦声明,常量的值就不能改变. 2.const的作用域与let命令相同:只在声明所在的块级作用域内有效. 3.const命令声明的常量也是不提升,只能在声明的位置后面 ...

  3. es6 const let

    一.const 1.const 声明的是常量,一旦声明,值将是不可变的: 2.const也具有块级作用域: 3.不能变量提升(必须先声明后使用): 4.const 不可重复声明 5.const 指令指 ...

  4. es6 const关键字

    const是constant(常量)的缩写,const和 let一样,也是用来声明变量的,但是const是专门用于声明一个常量的,顾名思义,常量的值是不可改变的.以前用var声明的变量,想怎么改就怎么 ...

  5. 深入研究const(es6特性)

    const  申明常量 var str = 'es6' console.log(window.str) // es6 属于顶层对象window const不属于顶层对象window const str ...

  6. ES6,ES2105核心功能一览,js新特性详解

    ES6,ES2105核心功能一览,js新特性详解 过去几年 JavaScript 发生了很大的变化.ES6(ECMAScript 6.ES2105)是 JavaScript 语言的新标准,2015 年 ...

  7. ES6入门

    整理了ES6常用的一些语法,跟大家分享(promise.generator什么的还没有梳理清楚,后续再更新...) 1⃣️ 变量声明-let 与 const (首先关于测试结果:这里有个小问题,如果用 ...

  8. 学习 ES6,一篇文章就够了

    ES6 简介 ECMAScript 6 简称 ES6,是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了.它的目标是使得 JavaScript 语言可以用来编写复杂的大型应用程 ...

  9. ES6的语法

    一,定义变量let(类似var) 在js一直有一个bug是var: 1.var 声明的变量会有变量提升 console.log(name); //jhon var name = 'jhon'; 2.v ...

随机推荐

  1. SVN的部署及分支等方法

    1.本地Repository的创建 repository的创建很简单,假设我要在D:\TortoiseSVN\TestRepository目录中创建repository,只需 右键TestReposi ...

  2. spring.net 如何让xml智能提示

    tools ->options ->Text Editor ->xml ->miscellaneous ->network ->勾选 automatically d ...

  3. Mongodb在Windows 7下的安装及配置

    第一步 下载MongoDB: 下载mongodb的windows版本,有32位和64位版本,根据操作系统情况下载,下载地址:http://www.mongodb.org/downloads 解压缩至指 ...

  4. A - Ice_cream’s world III

    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Pract ...

  5. Matlab编程基础

    平台:Win7 64 bit,Matlab R2014a(8.3) “Matlab”是“Matrix Laboratory” 的缩写,中文“矩阵实验室”,是强大的数学工具.本文侧重于Matlab的编程 ...

  6. 获取url的html值

    //取当前页面的地址 例如http:127.0.0.1:80/aaa/index.html 返回http:127.0.0.1:80/aaa/function getUrlAddr(){ var str ...

  7. Windows下安装openssl

    安装python类库cryptography1.6提示 build\temp.win-amd64-2.7\Release\_openssl.c(429): fatal error C1083: Can ...

  8. 基于注解的SpringMVC简单介绍

    SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请 ...

  9. win32 wndproc 返回值

    LRESULT CALLBACK WndProc(...) { case WM_CREATE: .... return 0; case WM_DESTROY: PostQuitMessage (0) ...

  10. spring data mongodb 配置遇到的几个问题

    一. mongodb 2.2版本以上的配置 spring.data.mongodb.uri = mongodb://newlook:newlook@192.168.0.109:27017/admin ...