上上篇我们说到ESMAScript是JS的语法规划,JS中的变量、数据类型、语法规范、操作语句、设计模型等都是ES规定的,现在咱们聊一下JS中的变量和常量

变量(variable)

它不是具体值,只是一个用来存储具体值的容器或者代名词,因为它存储的值可以改变,所以称为变量

例如:王燕=我,如果王燕代表了另一个人的名字了,就是 王燕=另一人的代名词

常量

指不可改变的值,一旦赋值就不能再改变这个值,一般写面向对象的时候用的比较多,数字语义化,会定义为常量

基于JS语法规范,在JS中创建变量/常量有以下方式:

var  (ES3/5) 创建变量

function 创建函数,本质上函数名也是变量,只不过存储的值是函数类型的而已

let (ES6)创建变量

const   创建常量

import  基于ES6的模块规范导出需要的信息

class  基于ES6创建类

创建变量语法:

  1. /*语法*/
  2. var [变量名] = 变量值;
  3. let [变量名] = 变量值;
  4. const [变量名] = 变量值;
  5. function 函数名(){函数体};
  6.  
  7. var num = 13; //以后n就代表13
  8. num = 15;//n又代表了15,就不能代表13了
  9. alertnum+15);//弹出25,此时n代表15
  10.  
  11. const totle = 30; //声明了一个常量,赋值为30
  12. totle=50;//报错 Uncaught TypeError: Assignment to constant variable.(类型错误:不能给一个常量重新赋值,能够修改的就是变量了)

变量的命名规范:

1、严格区分大小写 例如:

  1. var n=12;
  2. var N=13;//两个n不是同一个变量

2、驼峰命名:命名的时候基于英文单词拼接成一个完整的名字,第一个单词字母小写,其余每一个有意义的单词首字母都大写,按照数字、字母、下划线或者$来命名,注意数字不能作为开头,尽可能用英文,不要用拼音,例如:

  1. var studentInfo
    var student_info
    var _studentInfo (一般约定俗称的,_开头的是公共变量)
    var $student_Info (一般用来存储JQ元素)...

3、关键字保留字不可用

在js中,有一些字符用来完成或表达固定意义的,这样的字符叫做关键字,例如 var 、let 、const...

在js中,已经定义过的字符,由于考虑到扩展性,还没用到当前语法中,现在还不是关键字,但是以后可能会成为关键字的词,叫做保留字,例如 public、import、thorws...

  1. /*关键字*/
  2. function if else forwhile break case catch continue defaule delete do finally ...
  3.  
  4. /*保留字*/
  5. class boolean byte char extendsfinal float double int super static super voatile....

4、语义化(具有一定意义的单词)

  1. /*没有语义化的写法*/
  2. var xsxx = jack;
  3. var xsnl = 20; //过一段时间,你都不知道这是代表的啥玩意
  4.  
  5. /*具有语义化的写法*/
  6.  
  7. var studentName = jack ;
  8. var studentAge =20 ;//根据单词的意思,就知道这是代表学生年龄的变量

规范命名规则,是写干净整洁的代码的第一步,行动起来,成为具有代码洁癖的码农 ~~~go go go

ECMAScript---变量的更多相关文章

  1. 匈牙利标记法定义ECMAScript变量前缀

    匈牙利标记法定义ECMAScript变量前缀 类型 前缀 示例 数组 a aArray 布尔型 b bMale 浮点型(数字)   f fTax 函数 fn fnSwap 整型(数字) i iAge ...

  2. dom 显示 与否 的对 ecmascript 变量的 监听

    dom 显示 与否  的对 ecmascript   变量的 监听

  3. ECMAscript 变量作用域

    使用var操作符声明的变量与未使用var操作符声明的变量区别 未使用var操作符声明 function test() { message='hi'; console.log(message); } c ...

  4. JS高程4.变量,作用域和内存问题(1)

    1.基本类型和应用类型的值 ECMAScript变量可能包含两种不同数据类型的值: 基本类型值--简单的数据段.(5种基本的数据类型,按值访问,因为可以操作保存在变量中的实际的值.) 引用类型值--多 ...

  5. 《JavaScript高级程序设计》 - 读书笔记 - 第4章 变量、作用域和内存问题

    4.1 基本类型和引用类型的值 JavaScript变量是松散类型的,它只是保存特定值的一个名字而已. ECMAScript变量包含两种数据类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据 ...

  6. 《JavaScript高级程序设计》学习笔记(3)——变量、作用域和内存问题

    欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第四章内容. 1.函数:通过函数可以封装 ...

  7. javascript基础语法——变量和标识符

    × 目录 [1]定义 [2]命名规则 [3]声明[4]特性[5]作用域[6]声明提升[7]属性变量 前面的话 关于javascript,第一个比较重要的概念是变量,变量的工作机制是javascript ...

  8. JavaScript 参数传递与变量复制

            ECMAScript 变量可能包含两种不同数据类型的值:基本类型值和引用类型值. 基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象.         5 种基本数 ...

  9. js高级程序设计(四)变量、作用域和内存问题

    基本类型和引用类型的值 ECMAScript 变量可能包含两种不同数据类型的值:基本类型值和引用类型值.基本类型值指的是 Undefined . Null . Boolean . Number 和 S ...

  10. javascript的变量、作用域和内存问题

    基本类型和引用类型的值执行环境垃圾收集 ECMAScript 变量可能包含两种不同数据类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据段引用类型值指那些可能由多个值构成的对象 基本数据类型 ...

随机推荐

  1. PTA L2-031 深入虎穴 非dfs的一点想法

    著名的王牌间谍 007 需要执行一次任务,获取敌方的机密情报.已知情报藏在一个地下迷宫里,迷宫只有一个入口,里面有很多条通路,每条路通向一扇门.每一扇门背后或者是一个房间,或者又有很多条路,同样是每条 ...

  2. 手把手带你入门 Spring Security!

    Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展了多年了,但是使用的并不多,安全管理 ...

  3. cookbook_模块和包

    1把模块按层次结构组织成包 只需确保每个目录中都定义了__init__.py即可. 2对所有符号的导入进行精确控制 当用户使用from module import * 语句时,我们希望对从模块或包中导 ...

  4. C语言编程入门之--第三章编写第一个C语言程序

    第三章 编写第一个C语言程序 导读:一般学一门计算机语言的第一堂上机课(“上机”顾名思义,上了计算机),就是往屏幕输出“hello world”,本章也不例外. 1.1 Hello,World! 这一 ...

  5. Android CountDownTimer 类实现倒计时

    本文用 Android 中的 CountDownTimer 类实现倒计时功能,类似输入手机号获得验证码.界面如下所示: 1. 点击 “开始计时” 按钮后开始进行倒计时, 2. 倒计时过程: 3. 时间 ...

  6. 【iOS】"OS X"想要进行更改。键入管理员的名称和密码以允许执行此操作("OS X"想使用系统钥匙串)

    今天真机调试的时候遇到了这个问题,如下图: 每次调试都要输入两次用户名和密码,好麻烦的说…… 关键时刻找到了这篇文章:"Mac OS X"想要进行更改.键入管理员的名称和密码以允许 ...

  7. SCI论文的时态

    如果有的杂志对时态有要求,则以下所述都没有用了. 有些杂志也会专门有些比较“特别”的要求,比如Cell,要求Abstract全部使用一般现在时. 英语谓语动词时态共有16种,在英文科技论文中用得较为频 ...

  8. 实时同步lsyncd

    实时同步lsyncd 1 lsyncd 1.1 lsyncd 简介 Lsyncd使用文件系统事件接口(inotify或fsevents)来监视对本地文件和目录的更改.Lsyncd将这些事件整理几秒钟, ...

  9. Java连载11-转义字符&整数型

    一.转义符 1.\'代表单引号:\\代表\; 二.native2ascii.exe JDK中自带的native2ascii.exe命令,可以将文字转换成unicode编码形式 我们使用这个程序尝试一下 ...

  10. java并发编程(二十三)----(JUC集合)ConcurrentSkipListMap介绍

    ConcurrentSkipListMap提供了一种线程安全的并发访问的排序映射表.内部是SkipList(跳表)结构实现,在理论上能够在O(log(n))时间内完成查找.插入.删除操作. 理解Ski ...