JS中产生标识符方式的演变


Posted in Javascript onJune 12, 2015

一、ES5时代

var
function
我们知道 JS 不象其它语言 Java、Ruby等,它用来命名变量的只有关键字 var,不论何种类型数据都用 var 声明,当然弱类型并不代表该语言没有类型,它的类型在运行时(根据不同运算符)会隐式转换。而其它语言如Java,光声明数字的关键字就有 int、 float、double、long。

// JS
var num1 = 10;   // 整数
var num2 = 10.1;  // 浮点数
var str   = 'John'; // 字符串
var boo   = false; // 布尔
var obj   = {};  // 对象
// Java
int num1   = 10;
double num2  = 10.2;
String str   = "John";
Boolean boo = false;

JS 里标识符除了使用 var 产生,还有一个 function 关键字也可以产生标识符。function 类型声明的标识符的可能是函数、方法或构造器(类)。

// functions
function fetchData(url, param) {
  // ... 
}
 
// methods
var obj = {
  getUrl: function() {
  }
};
 
// class
function Person(name, age) {}
Person.prototype = {
}

二、ES6时代

var
function
let
const
class
可以看到,ES6 增加了3个可以产生标识符的关键字 let/const/class。let/const 用来声明变量,class 用来定义类。

// 定义普通变量
let name = 'John';
for (let i = 0; i < arr.length; i++) {
}
if (boo) {
  let obj = {};
  ...
}
 
// 定义常量
const PI = 3.1415926;
const $el = $('.nav');
 
// 定义类
class Point {
  constructor(x, y) {
    this.x = x;
    this.y = y;
  }
  toString() {
    return '('+this.x+', '+this.y+')';
  }
}

ES6时代,可以想象我们的代码风格里应该是 “少var多let”,let 和 const 都具有块级作用域,且不会发生变量提升。而声明类,也都会使用 class 了,class 关键字分担了 function 的部分任务。

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
jQuery-ui引入后Vs2008的无智能提示问题解决方法
Feb 10 Javascript
如何正确使用javascript 来进行我们的程序开发
Jun 23 Javascript
node.js中的forEach()是同步还是异步呢
Jan 29 Javascript
快速获取/设置iframe内对象元素的几种js实现方法
May 20 Javascript
Django+Vue.js搭建前后端分离项目的示例
Aug 07 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
Apr 08 Javascript
Vue.directive使用注意(小结)
Aug 31 Javascript
echarts实现折线图的拖拽效果
Dec 19 Javascript
Vue实现购物小球抛物线的方法实例
Nov 22 Vue.js
Javascript节流函数throttle和防抖函数debounce
Dec 03 Javascript
vue 动态生成拓扑图的示例
Jan 03 Vue.js
小程序实现侧滑删除功能
Jun 25 Javascript
JS中处理时间之setUTCMinutes()方法的使用
Jun 12 #Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
Jun 12 #Javascript
JavaScript中setUTCFullYear()方法的使用简介
Jun 12 #Javascript
禁止按回车键提交表单的方法
Jun 11 #Javascript
JavaScript中的setUTCDate()方法使用详解
Jun 11 #Javascript
简介JavaScript中的setTime()方法的使用
Jun 11 #Javascript
JS/Jquery判断对象为空的方法
Jun 11 #Javascript
You might like
在VS2008中编译MYSQL5.1.48的方法
2010/07/03 PHP
php调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
jQuery插件datatables使用教程
2016/04/21 Javascript
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
2017/10/19 jQuery
jQuery实现的简单无刷新评论功能示例
2017/11/08 jQuery
vue组件之间通信方式实例总结【8种方式】
2019/02/22 Javascript
vue 返回上一页,页面样式错乱的解决
2019/11/14 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
用Python编程实现语音控制电脑
2014/04/01 Python
django批量导入xml数据
2016/10/16 Python
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
实例讲解python中的协程
2018/10/08 Python
python判断无向图环是否存在的示例
2019/11/22 Python
Django如何重置migration的几种情景
2021/02/24 Python
里程积分管理买卖交换平台:Points.com
2017/01/13 全球购物
班长岗位职责
2013/11/10 职场文书
后勤采购员岗位职责
2013/12/19 职场文书
小型女装店的创业计划书
2014/01/09 职场文书
社会实践感言
2014/01/25 职场文书
高中毕业自我评价
2014/02/08 职场文书
公司开业庆典策划方案
2014/06/04 职场文书
献爱心标语
2014/06/21 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
2016年社区六一儿童节活动总结
2016/04/06 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书
2019朋友新婚祝福语精选
2019/10/10 职场文书
Python 语言实现六大查找算法
2021/06/30 Python
Python3.10的一些新特性原理分析
2021/09/15 Python
linux下安装redis图文详细步骤
2021/12/04 Redis