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

变量(variable)

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

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

常量

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

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

var  (ES3/5) 创建变量

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

let (ES6)创建变量

const   创建常量

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

class  基于ES6创建类

创建变量语法:

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

变量的命名规范:

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

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

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

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

3、关键字保留字不可用

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

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

/*关键字*/
function 、if 、else 、for、while 、break 、case 、catch 、continue 、defaule 、delete 、do 、finally ... /*保留字*/
class 、boolean 、byte 、char 、extends、final 、float 、double 、int 、super 、static 、super 、voatile....

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

/*没有语义化的写法*/
var xsxx = jack;
var xsnl = 20; //过一段时间,你都不知道这是代表的啥玩意 /*具有语义化的写法*/ var studentName = jack ;
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. LINUX下查找大文件及大的文件夹

    原帖地址:https://www.cnblogs.com/iyoume2008/p/6105590.html 今天正好碰到这样的问题,在博客园中看到有以上地址的一篇文章,照着上面的操作解决了问题,但是 ...

  2. Spring Boot 面试的十个问题

    用下面这些常见的面试问题为下一次 Spring Boot 面试做准备. 在本文中,我们将讨论 Spring boot 中最常见的10个面试问题.现在,在就业市场上,这些问题有点棘手,而且趋势日益严重. ...

  3. 牛客第三场 J LRU management

    起初看到这道题的时候,草草就放过去了,开了另一道题,结果开题不顺利,总是感觉差一点就可以做出来,以至于一直到最后都没能看这道题qaq 题意:类似于操作系统上讲的LRU算法,有两个操作,0操作代表访问其 ...

  4. 渐进式web应用开发-- 使用后台同步保证离线功能(六)

    _ 阅读目录 一:什么是后台同步保证离线功能呢? 二:后台同步是如何实现的呢? 三:如何给sync事件传递数据? 四:在我们的项目中添加后台同步功能 回到顶部 一:什么是后台同步保证离线功能呢? 在我 ...

  5. 14. 流、文件和IO

    前言 InputStream/OutStream流用来处理设备之间的数据传输 Java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持 ...

  6. 【iOS】this class is not key value coding-compliant for the key ...

    一般此问题 都是由 interface build 与代码中 IBOutlet 的连接所引起的. 可能是在代码中对 IBOutlet 的名称进行了修改,导致 interface build 中的连接实 ...

  7. bit、byte、kb、mb、g的区别

    1Byte=8bit1KB=1024Byte(字节)=8*1024bit1MB=1024KB1GB=1024MB1TB=1024GB bit是计算机数据的最小单元.要么是0,要么是1. byte 关键 ...

  8. zookeeper中的分布式一致性协议

    1. zookeeper中的一致性协议-ZAB协议 在深入了解ZK之前,相信很多同学都会认为ZK就是Paxos算法的一个实现.但事实上,ZK并没有完全采用Paxos算法,而是使用了一种称为ZooKee ...

  9. 程序员修神之路--用NOSql给高并发系统加速(送书)

    随着互联网大潮的到来,越来越多网站,应用系统需要海量数据的支撑,高并发.低延迟.高可用.高扩展等要求在传统的关系型数据库中已经得不到满足,或者说关系型数据库应对这些需求已经显得力不从心了.关系型数据库 ...

  10. Spring Cloud版本

    Spring Cloud版本 Spring Cloud版本演进情况如下: 版本名称 版本 Finchley snapshot版 Edgware snapshot版 Dalston SR1 当前最新稳定 ...