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 第二课 操作包装集元素代码
Mar 14 Javascript
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
Jun 21 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
Apr 10 Javascript
JS实现选择TextArea内文本的方法
Aug 03 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
Sep 06 Javascript
js如何实现淡入淡出效果
Nov 18 Javascript
JS实现alert中显示换行的方法
Dec 17 Javascript
微信小程序 两种为对象属性赋值的方式详解
Feb 23 Javascript
jQuery实现选项卡功能(两种方法)
Mar 08 Javascript
vue2.0 和 animate.css的结合使用
Dec 12 Javascript
jquery自定义显示消息数量
Dec 19 jQuery
基于vue-element组件实现音乐播放器功能
May 06 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入门速成(2)
2006/10/09 PHP
PHP去除数组中重复的元素并按键名排序函数
2008/08/18 PHP
php5.4传引用时报错问题分析
2016/01/22 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
js实现的常用的左侧导航效果
2013/10/17 Javascript
JavaScript获取IP获取的是IPV6 如何校验
2016/06/12 Javascript
提升页面加载速度的插件InstantClick
2017/09/12 Javascript
五步轻松实现JavaScript HTML时钟效果
2020/03/25 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
微信小程序实现图片上传
2019/05/23 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
Swiper.js实现移动端元素左右滑动
2019/09/08 Javascript
JavaScript中this的学习笔记及用法整理
2020/02/17 Javascript
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
JPype实现在python中调用JAVA的实例
2017/07/19 Python
python广度优先搜索得到两点间最短路径
2019/01/17 Python
Python Selenium截图功能实现代码
2020/04/26 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
Carolina工作鞋官网:Carolina Footwear
2019/03/14 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
C# .NET面试题
2015/11/28 面试题
毕业生求职简历中的自我评价
2013/10/18 职场文书
ktv好的活动方案
2014/08/15 职场文书
承诺书样本
2014/08/30 职场文书
房地产公司财务总监岗位职责
2015/04/03 职场文书
文员岗位职责范本
2015/04/16 职场文书
2015年维修工作总结
2015/04/25 职场文书
机关工会工作总结2015
2015/05/26 职场文书
纪检监察立案决定书
2015/06/24 职场文书
《金色的草地》教学反思
2016/02/17 职场文书
Golang 入门 之url 包
2022/05/04 Golang