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的Validation插件中Remote验证的中文问题
Jul 26 Javascript
JS 实现Json查询的方法实例
Apr 12 Javascript
javascript获取URL参数与参数值的示例代码
Dec 20 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
May 05 Javascript
JS从数组中随机取出几个数组元素的方法
Aug 02 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
Dec 07 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
Dec 14 Javascript
Vue一个案例引发的递归组件的使用详解
Nov 15 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
Feb 12 Javascript
vue之debounce属性被移除及处理详解
Nov 13 Javascript
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
Apr 30 jQuery
Vue+Bootstrap实现简易学生管理系统
Feb 09 Vue.js
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
php验证手机号码(支持归属地查询及编码为UTF8)
2013/02/01 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
PHP实现的CURL非阻塞调用类
2018/07/26 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
jQuery 淡出一个图像到另一个图像的实现代码
2013/06/12 Javascript
jquery中的查找parents与closest方法之间的区别
2013/12/02 Javascript
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
2014/07/01 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
2015/03/04 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
2016/11/02 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
Jquery的Ajax技术使用方法
2019/01/21 jQuery
解决layer.msg 不居中 ifram中的问题
2019/09/05 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
2020/03/16 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
2020/11/09 Javascript
[56:14]Fnatic vs OG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python深入学习之内存管理
2014/08/31 Python
Python进程通信之匿名管道实例讲解
2015/04/11 Python
Python基于TCP实现会聊天的小机器人功能示例
2018/04/09 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
加拿大户外探险购物网站:SAIL
2020/06/27 全球购物
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
十八大闭幕感言
2014/01/22 职场文书
水果连锁超市创业计划书
2014/01/24 职场文书
农村婚礼主持词
2014/03/13 职场文书
销售行政专员岗位职责
2014/06/10 职场文书
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
校园广播稿精选
2014/10/01 职场文书
如何撰写出一份完美的商业计划书?
2019/07/12 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
英镑符号 £
2022/02/17 杂记