上上篇我们说到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. 73种网页常用Javascript代码

    73种网页常用Javascript代码 转载自:前端丶灵魂工程师   1.后退 前进  <input type="button" value="后退" o ...

  2. StringBuffer类的delete()方法和deleteCharAt()方法的区别

    引言 StringBuffer类的delete()方法和deleteCharAt()方法都是用来删除StringBuffer字符串中的字符 区别 1.对于delete(int start,int en ...

  3. Linux平台 Oracle 19c RAC安装Part1:准备工作

    一.实施前期准备工作 1.1 服务器安装操作系统 1.2 Oracle安装介质 1.3 共享存储规划 1.4 网络规范分配 二.安装前期准备工作 2.1 各节点系统时间校对 2.2 各节点关闭防火墙和 ...

  4. ansible-yum

    #yum 需要在vim /etc/ansible/hosts里面给执行的主机配置 远程调用python的路径不知道为什么默认值认识python2.6.6 vim /etc/ansible/hosts ...

  5. gulp压缩js文件报错日志

    输出 gulp-uglify 压缩js文件时报错信息 gulp.task('es6', function () { return gulp.src('src/main/webapp/bower_com ...

  6. 7z 命令行方式生成自解压exe

    一.下载 7z是一个免费的工具,除了通过命令行的方式提供各种文件.压缩包相关的操作外,还提供了一种方式可以打出自解压的exe程序.该程序从运行到结束经历了三个流程: (1) 解压文件到用户临时目录: ...

  7. Wpf窗口设置可拖动

    在窗口界面的一个控件(TopGrid)设置如下MouseLeftButtonDown事件即可 private void TopGrid_MouseLeftButtonDown(object sende ...

  8. 6.源码分析---和dubbo相比SOFARPC是如何实现负载均衡的?

    官方目前建议使用的负载均衡包括以下几种: random(随机算法) localPref(本地优先算法) roundRobin(轮询算法) consistentHash(一致性hash算法) 所以我们接 ...

  9. 前端本地proxy跨域代理配置

    等了好久的接口,总算拿到了,结果却发现用本地localhost:9712去请求接口的时候,出现了跨域错误,而这个时候我们就需要进行下跨域配置了. 首先,找到项目中名为webpack.config.js ...

  10. RocketMQ中Broker的刷盘源码分析

    上一篇博客的最后简单提了下CommitLog的刷盘  [RocketMQ中Broker的消息存储源码分析] (这篇博客和上一篇有很大的联系) Broker的CommitLog刷盘会启动一个线程,不停地 ...