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中的isXX系列
Aug 01 Javascript
Javascript继承(上)——对象构建介绍
Nov 08 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
Aug 16 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
Dec 26 Javascript
用window.onerror捕获并上报Js错误的方法
Jan 27 Javascript
浅谈jquery中使用canvas的问题
Oct 10 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
Dec 25 Javascript
原生js实现的移动端可拖动进度条插件功能详解
Aug 15 Javascript
解决vue 子组件修改父组件传来的props值报错问题
Nov 09 Javascript
KnockoutJS数组比较算法实例详解
Nov 25 Javascript
安装多版本Vue-CLI的实现方法
Mar 24 Javascript
浅谈React中组件逻辑复用的那些事儿
May 21 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中数组首字符过滤功能代码
2012/07/31 PHP
PHP 安全检测代码片段(分享)
2013/07/05 PHP
PHP页面中文乱码分析
2013/10/29 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
jquery checkbox,radio是否选中的判断代码
2010/03/20 Javascript
javascript的console.log()用法小结
2012/05/31 Javascript
javascript继承之为什么要继承
2012/11/10 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
Jquery实现自定义tooltip示例代码
2014/02/12 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
2015/12/01 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
react build 后打包发布总结
2018/08/24 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
使用webpack将ES6转化ES5的实现方法
2019/10/13 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
python列出目录下指定文件与子目录的方法
2015/07/03 Python
Python递归函数定义与用法示例
2017/06/02 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
常用的10个Python实用小技巧
2020/08/10 Python
大门门卫岗位职责
2013/11/30 职场文书
市场拓展计划书
2014/05/03 职场文书
运动会加油口号
2014/06/07 职场文书
初婚未育证明样本
2014/10/24 职场文书
财务工作失职检讨书
2014/11/21 职场文书
西游降魔篇观后感
2015/06/15 职场文书
2015年教学副校长工作总结
2015/07/22 职场文书
2015年庆祝国庆节66周年演讲稿
2015/07/30 职场文书
2016幼儿园中班开学寄语
2015/12/03 职场文书