上上篇我们说到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. [小米OJ] 3. 大数相减

    题目链接 思路: 利用两个string保存相减的数,其他模拟即可. 参考了别人的一个处理减的步骤,很简洁好看. string substract(string str1, string str2) { ...

  2. 博弈论基础之sg函数与nim

    在算法竞赛中,博弈论题目往往是以icg.通俗的说就是两人交替操作,每步都各自合法,合法性与选手无关,只与游戏有关.往往我们需要求解在某一个游戏或几个游戏中的某个状态下,先手或后手谁会胜利的问题.就比如 ...

  3. win8上安装sql server (2008 and 2008 R2)存在兼容性问题怎么解决

     安装sql2008R2之前,需要先下载"AccessDatabaseEngine"组件并安装(百度上搜索下载就可以了),打补丁重启,再安装sql2008,安装时候提示兼容性问 ...

  4. Java生鲜电商平台-统一异常处理及架构实战

    Java生鲜电商平台-统一异常处理及架构实战 补充说明:本文讲得比较细,所以篇幅较长. 请认真读完,希望读完后能对统一异常处理有一个清晰的认识. 背景 软件开发过程中,不可避免的是需要处理各种异常,就 ...

  5. golang "[]uint8" to string

    关于Uinit8和Byte: The Go Programming Language Specification Numeric types uint8 the set of all unsigned ...

  6. 逆向MFC程序

    目录 @ 1 MFC执行流程 1.1 环境支持 1.2 分析 1.3 实践探索 1.3.1 创建一个MFC程序 1.3.2 下关键断点并调试 1.4 转向MFC库源文件中观测 2 逆向 2.1 特征码 ...

  7. tcp四次挥手为什么要等待2MSL

    之前所说了解有两个原因: 1.防止客户端最后一次发给服务器的确认在网络中丢失以至于客户端关闭,而服务端并未关闭,导致资源的浪费. 2.等待最大的2msl可以让本次连接的所有的网络包在链路上消失,以防造 ...

  8. mysql docker 主从配置

    主从复制相关 前置条件: docker安装的mysql是5.7.26版本 1. 编排docker-compose文件如下: version: '3' services: mysql-master: v ...

  9. pipreqs 生成requirements.txt文件时编码错误问题

    1,首先安装pipreqs --> pip install pipreqs 2.生成相应项目的路径  --> pipreqs  e:\a\b 在此时可能会遇见 UnicodeDecodeE ...

  10. Zookeeper开源客户端Curator的使用

    开源zk客户端-Curator 创建会话: RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000,3); CuratorFramewor ...