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 相关文章推荐
JavaScript触发器详解
Mar 10 Javascript
JS 日期验证正则附asp日期格式化函数
Sep 11 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
Jul 08 Javascript
JScript分割字符串示例代码
Sep 04 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
Nov 20 Javascript
jquery $(document).ready()和window.onload的区别浅析
Feb 04 Javascript
javascript实现汉字转拼音代码分享
Apr 20 Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
Nov 17 Javascript
Angular2利用组件与指令实现图片轮播组件
Mar 27 Javascript
微信小程序使用字体图标的方法
May 23 Javascript
javascript实现画板功能
Apr 12 Javascript
js用正则表达式筛选年月日的实例方法
Jan 04 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
PHP date函数参数详解
2006/11/27 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
document.onreadystatechange事件的用法分析
2009/10/17 Javascript
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
JS+CSS实现可拖动的弹出提示框
2015/02/16 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
jquery表单验证插件formValidator使用方法
2016/04/01 Javascript
JavaScript读二进制文件并用ajax传输二进制流的方法
2016/07/18 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
关于angularJs指令的Scope(作用域)介绍
2016/10/25 Javascript
nodejs基础知识
2017/02/03 NodeJs
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
解决IE7中使用jQuery动态操作name问题
2017/08/28 jQuery
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
Node.js + express基本用法教程
2019/03/14 Javascript
详解jquery和vue对比
2019/04/16 jQuery
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
angularjs自定义过滤器demo示例
2019/08/24 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
解决vuex数据页面刷新后初始化操作
2020/07/26 Javascript
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
python实现的多线程端口扫描功能示例
2017/01/21 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
使用Python操作FTP实现上传和下载的方法
2019/04/01 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
iRobot官网:改变生活的家用机器人品牌
2016/09/20 全球购物
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
会计电算化毕业生自荐信
2014/03/03 职场文书
入党积极分子学习党的纲领思想汇报
2014/09/13 职场文书
干部作风建设工作总结
2014/10/29 职场文书
小学感恩节活动总结
2015/03/24 职场文书