<!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. cell 内部 设置width 总不对

    今天 在Cell 里设置屏幕宽 如果 在layoutSubviews 使用 self.width(自己写的分类) 或者 self.view.size.width  都可以,这里 4 4s 5 5s 都 ...

  2. 【转】关于编写性能高效的javascript事件的技术

    原文转自:http://blog.jobbole.com/80170/ 如何能做出高效的web前端程序是我每次做前端开发都会不自觉去考虑的问题.几年前雅虎里牛逼的前端工程师们出了一本关于提升web前端 ...

  3. JDK1.7 安装配置

    JDK1.7 安装配置 1.下载jdk1.7安装包,下载地址为http://pan.baidu.com/s/1bnvWc5x: 2.安装jdk1.7,安装完成后可在安装目录下看到以下两个文件夹,如下图 ...

  4. C - 搜索

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

  5. (原创)基于CloudStack的平安云-云主机的生命周期

    一.购买云主机1.条件筛选   涉及环境.应用系统.区域.网络.操作系统.套餐.期限.数量筛选2.校验   2.1 应用系统角色权限校验   2.2 应用系统可用配置校验   2.3 产品区域是否下架 ...

  6. 【转载】 Spark性能优化指南——基础篇

    转自:http://tech.meituan.com/spark-tuning-basic.html?from=timeline 前言 开发调优 调优概述 原则一:避免创建重复的RDD 原则二:尽可能 ...

  7. 4-Spark高级数据分析-第四章 用决策树算法预测森林植被

    预测是非常困难的,更别提预测未来. 4.1 回归简介 随着现代机器学习和数据科学的出现,我们依旧把从“某些值”预测“另外某个值”的思想称为回归.回归是预测一个数值型数量,比如大小.收入和温度,而分类则 ...

  8. iOS 汉字拼音

    获取汉字的拼音 #import <Foundation/Foundation.h> @interface NSString (Utils) /** *  汉字的拼音 * *  @retur ...

  9. android 7.0变化

    一.加强版的低电耗模式 条件:1未插电源:2屏幕关闭:(N与6.0的区别就在于N在手机非静止时也可进入低电耗模式) 作用过程及方式:1充电状态:2屏幕关闭一定时间:进入一级低电限制:关闭网络,推迟CP ...

  10. CentOS7新特性

    一.CentOS7的4中模式 CentOS7里不在有0-6启动级别,而是4个target 1.graphical.target:多人模式,支持图形和命令行两种登录,对应之前的3,5级别 2.multi ...