JavaScript的子集和超集

1、JavaScript子集

JavaScript子集的定义大部分都是出于安全考虑,只有使用这门语言的一个安全的子集编写脚本,才能让代码执行得更安全、更稳定,比如如何更安全地执行一段由不可信第三方提供的广告代码。JavaScript子集通常会移除JavaScript的一些特性,如ADsafe、dojox.secure、Caja、FBJS以及微软的Web Sandbox等,这些都实现了安全子集。

2、常量和局部变量

常量用const表示,局部变量用let表示,let声明一个块级作用域,超出作用域变量无效。

3、解构赋值

解构赋值是一种混合式赋值,是python中的一个概念,直接看下面的例子:

let [x, y] = [1, 2]; // 等价于 let x = 1, y = 2;

4、迭代器

迭代器用法类似于python,迭代器必须包含next()方法,对于可迭代对象,必须定义一个名叫d__iterator__()的方法。

5、生成器

生成器,用法同python,yield关键字用于生产,还有两个方法,next()和send()。

6、数组推导

数组推导,用法同python,格式如下:

[ expression for (variable in object) if (condition) ]

例如:

let evensquares = [x * x for (x in range(0, 10)) if (x % 2 == 0)]

evensquares是一个数组,表示0~10之间偶数的平方。

7、生成器表达式

生成器表达式,用法也类似于python,把数组推导中的方括号替换为圆括号即可,返回对象而非数组。

8、函数简写

函数简写适用于简单的函数,即表达式闭包,省略return关键字和花括号,如下例子:

let val = function(x) x+1;

9、多catch语句的异常处理

异常处理中,可以有多个catch语句,而且捕获条件可以使用if进行判断,捕获我们需要的东西。

10、E4X

E4X即ECMAScript for XML,是JavaScript的一个标准扩展,它为处理XML文档定义了一系列强大的特性。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-23 10:07:04

JavaScript的子集和超集的相关文章

第11章 JavaScript的子集和扩展

11.1 JavaScript的子集 11.1.1 精华 11.1.2 子集的安全性 11.2 常量和局部变量 <script type="text/javascript"> //关键字let有4种使用方法 //可以作为变量声明,和var一样 //在for或for/in循环中,作为var的代替方案 //在语句块中定义一个新变量并显示指定它的作用域 //定义一个在表达式内部作用域中的变量,这个变量只在表达式内可用 function oddsum(n) { let total

JavaScript 二进制的 AST

本文和大家分享的主要是javascript中二进制的 AST相关内容,一起来看看吧,希望对大家学习javascript有所帮助. 背景介绍 多年来,JavaScript 已经从最慢的脚本语言之一,从老爷车发展为兰博基尼,不管是通过 Web 浏览器还是其他环境.它都能够快到可以运行桌面.服务器.移动甚至嵌入式应用程序. 随着 JavaScript 的增长,应用程序的复杂程度和规模都越来越复杂.然而,二十年前,少数使用过 JavaScript 的网站也就加载几千字节的 JavaScript,许多网站

第十章:Javascript子集和扩展

本章讨论javascript的集和超集,其中子集的定义大部分处于安全考虑.只有使用这门语言的一个安全的子集编写脚本,才能让代码执行的更安全.更稳定.ECMScript3标准是1999年版本的,10年后,ECMAScript5规范的更新,由于ECMAScript标准规范是允许对其做任何扩充的,伴随着Mozilla项目的改进,Firefox1.0.1.5.2.3.和3.5版本中分别发布了javascript1.5.1.6.1.7.1.8.1.81版本,这些javascript的扩展版本已经融入到EC

JS 语言核心(JavaScript权威指南第六版)(阅读笔记)

前言: 对于程序员,学习是无止境的,知识淘换非常快,能够快速稳固掌握一门新技术,是一个程序员应该具备的素质.这里将分享本人一点点不成熟的心得. 了解一门语言,了解它的概念非常重要,但是一些优秀的设计思想需要细心和大量实践才能慢慢参悟,在这之前需要做的是能够运用它来开发,那么了解一些基础特性非常有必要,通常这些特性是需要经验积累,从各种坑中累计出来,但是还有一种看似很笨却很有效的学习方法.那就是将别人的经验记录下来,有事没事都拿出来看看,集合开发中的经验,这会非常有效. 调试工具 firebug

JavaScript语言精粹pdf

内容简介  · · · · · · 本书通过对JavaScript语言的分析,甄别出好的和坏的特性,从而提取出相对这门语言的整体而言具有更好的可靠性.可读性和可维护性的JavaScript的子集,以便你能用它创建真正可扩展的和高效的代码. 雅虎资深JavaScript架构师Douglas Crockford倾力之作. 向读者介绍如何运用JavaScript创建真正可扩展的和高效的代码. 作者简介  · · · · · · Douglas Crockford是一名来自Yahoo!的资深JavaSc

sublime 插件(侧重JavaScript)

Sublime Text几乎是任何开发者在其工具箱的必备应用程序.Sublime Text是一款跨平台的,高度可定制的,高级的文本编辑器,既适合全功能的IDE(出了名的资源匮乏),又可匹配命令行编辑器,例如Vim和Emacs(具有陡峭的学习曲线). Sublime Text如此受欢迎的其中一个原因就是它的可扩展插件架构.这使得开发人员可以轻松使用新功能,例如代码完成,或远程API文档嵌入,来扩展Sublime的核心功能.Sublime Text的插件并不是开箱即用的--通常需要通过一个叫Pack

《javascript权威指南》读书笔记——第一篇

<javascript权威指南>读书笔记--第一篇 金刚 javascript js javascript权威指南 由于最近想系统学习下javascript,所以开始在kindle上看这本书来补充下. 今天是今年的196天,由于我之前承诺过,每天分享读书笔记,只是之前分享的是大众读物,所以随手分享到kindle阅读群里了.但是现在读的是技术类书籍,分享到kindle读书群不太合适,所以还是以博客的形式分享.这样子,一个链接,大家感兴趣了就点开看看,不感兴趣了,就不点开. 其实这篇文章应该是昨天

深入学习JavaScript对象

JavaScript中,除了五种原始类型(即数字,字符串,布尔值,null,undefined)之外的都是对象了,所以,不把对象学明白怎么继续往下学习呢? 一.概述 对象是一种复合值,它将很多值(原始值或其他对象)聚合在一起,可通过属性名访问这些值.而属性名可以是包含空字符串在内的任意字符串.JavaScript对象也可以称作一种数据结构,正如我们经常听说的“散列(hash)”.“散列表(hashtable)”.“字典(dictionary)”.“关联数组(associative array)”

JavaScript权威指南笔记——第1部分

# <JavaScript权威指南>笔记--第1部分 说明: 印刷版:2012年4月第1版 2016年9月第17次印刷. 本书的风格和<Effective Java>很类似,推荐一下. 该笔记逆序记录的. ----------------------- ------<end>------ | node的helloworld程序: ```js //! program.js // 通过在命令行输入`node program.js`来运行,然后在浏览器中打开网址`127.0.