Skip to content

ziyiking/javascript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

#JavaScript概要# ####1.JavaScript版本#### JavaScript 1.0 JavaScript 1.1 JavaScript 1.2 JavaScript 1.3 JavaScript 1.4 JavaScript 1.5 JavaScript 1.6 JavaScript 1.7 JavaScript 1.8

对应的浏览器版本

Navigator 2.0 Navigator 3.0 Navigator 4.0-4.05 Navigator 4.06-4.7x Navigator 6.0 Mozilla (open source browser) Firefox 1.5, other Mozilla 1.8-based products Firefox 2, other Mozilla 1.8.1-based products Firefox 3, other Gecko 1.9-based products

###2.什么是javaScript###

JavaScript是一个跨平台的、面向对象的脚本语言。JavaScript是一种小型、轻量的语言;它不是有用的作为一个独立的语言,但是设计很容易嵌入其他产品和应用程序,比如web浏览器。在一个宿主环境,JavaScript可以连接到对象的环境提供可编程控制。

核心JavaScript包含一组核心的对象,比如数组,日期,和数学,和一组核心的语言元素,如运营商、控制结构和语句。核心的JavaScript可以扩展为各种目的通过补充额外的对象

JavaScript和ECMAScript规范

网景公司发明了JavaScript和JavaScript最初是用于Netscape浏览器。然而,网景公司正在与Ecma国际——欧洲标准化协会信息和通信系统(Ecma曾缩写欧洲计算机制造商协会)提供标准化、国际基于核心JavaScript编程语言。这个标准版本的JavaScript,称为ECMAScript,表现同样的方式在所有的应用程序支持的标准。公司可以使用开放标准语言来开发他们的JavaScript实现。ECMAScript标准是在ecma - 262规范中进行文档化。

###3.JavaScript的基本概念###

####一.值,变量,以及字面量#### 1.值 JavaScript承认以下五种原始值:

Numbers ,

Logical(布尔值,代表真或者假) ,

Strings,

null(一个特殊的关键字表示一个null值;空也是一个原始值。)

undefined(未定义是一个原始值)

2.数据类型转换

JavaScript是一种动态类型语言。这意味着你不需要指定数据类型的变量声明时,根据需要自动转换和数据类型在脚本执行期间。

3.变量的声明

一个变量声明使用var语句,没有指定初始值为undefined。

试图访问一个未申报的变量会导致ReferenceError抛出异常

4.字面值

分为数组,布尔值,数字,浮点型数字,对象,字符串

####二.表达式和运算符

从概念上讲,有两种类型的表达式:将值分配给一个变量,值的运算。

运算符:有赋值运算符,比较运算符,算术运算符,位操作符,逻辑运算符, 字符串运算符。

####三.正则表达式#### 正则表达式是用于匹配字符串中的字符组合模式。在JavaScript中,正则表达式也是对象。这些模式是使用正则表达式的执行和测试方法,以及匹配,取代,搜索和字符串的方法。

####四.声明语句####

JavaScript支持一组简洁的语句,特别是控制流语句, 您可以使用在Web页面中包含大量的声明语句。

声明语句包含有:块语句,判断语句,转移控制语句,循环语句,对象操作语句,注释语句。

####五.函数####

函数是搭建JavaScript语言大厦的基本构件之一。一个函数本身就是一段JavaScript程序——包含用于执行某一任务或计算的一系列语句。要使用某一个函数,你必需在想要调用这个函数的执行域的某处定义它。

一个函数的定义(也称为函数的声明)由一系列的函数关键词组成, 依次为:

函数的名称。

包围在括号()中,并由逗号区隔的一个函数实际参数列表。

包围在花括号{}中,用于定义函数功能的一些JavaScript语句。

####六.使用对象####

JavaScript采用了简单的基于对象的范型。一个对象就是一系列属性的集合,一个属性包含一个名字和一个值。一个属性的值可以是函数,这种情况下属性也被称为方法。除了浏览器里面预定义的那些对象之外,你也可以定义你自己的对象。

在 JavaScript 中,几乎所有的东西都是对象。所有的原生类型除了 null 与 undefined之外都被当作对象。它们可以被赋予属性(某些类型的被赋予的属性不能被持久化),并且它们都有对象的全部特征。

遍历一个对象的所有属性 从 ECMAScript 5 开始,有三种原生的方法用于列出或遍历对象的属性:

for...in 循环 该方法依次访问一个对象及其原型链中所有可遍历的属性。 Object.keys(o) 该方法返回一个对象 o 自身包含(不包括原型中)的所有属性的名称的数组。 Object.getOwnPropertyNames(o) 该方法返回一个数组,它包含了对象 o 所有拥有的属性(无论是否可遍历)的名称。

####七.javascript内置核心对象#### JavaScript其实并没有精确的数组数据类型,但你可以用 Array 对象及其方法在你的程序中进行数组编程。Array 对象拥有操作数组的各种方法,例如相加、反转、排序等。它有一个属性以确定数组的长度,还有一些用于正则表达式。

数组的操作有如下方法

concat() 将两个数组连接成一个新数组。

join(deliminator = ",") 将数组的所有元素连接成一个字符串。

push() 在数组的最后增加一个元素并且返回数组的新长度。

pop() 从数组中删除最后一个元素并且返回该元素。

shift() 从数组中删除第一个元素并且返回该元素。

unshift() 在数组开头增加一个或多个元素并且返回数组的新长度。

slice(start_index, upto_index) 抽取数组的一个片断并将其作为新数组返回。

splice(index, count_to_remove, addelement1, addelement2, ...) 从数组中删除元素并且(可选地)替换它们。

reverse() 将数组元素进行倒以:第一个的数组元素将变为最后一个,而最后的元素将变为第一个。

sort() 对数组元素进行排序。

还有以下的核心对象:布尔对象,日期对象,函数对象,数学对象,字符串对象等, 分别有其对应的操作方法,在此不一一赘述。

####八.迭代器和生成器 ####

迭代器是一个对象,知道如何存取物品从一个集合一次取出一项, 而跟踪它的当前序列所在的位置. 在 JavaScript中 迭代器是一个对象,它提供了一个next()方法返回序列中的下一个项目。当这个序列消亡时这个方法可以随时抛出一个StopIteration exception(异常)。

一旦创建,迭代器对象可以显式地通过不断调用next(),或隐式地使用JavaScript的 for...in and for each 构造.

简单的迭代器对象和数组可以使用Iterator()函数创建

虽然迭代器是一个有用的工具,但是由于需要显示地维持他们的内部状态,所以他们的构造需要仔细的规划。生成器给你提供了一个强大的选择:它允许你通过写一个可以保存自己状态的的简单函数来定义一个迭代算法。

一个生成器其实是一种特殊类型的函数(这个函数作为一个为迭代器工作的工厂),一个函数如果它里面包含了一个或一个以上的yield表达式,那么这个函数就成为一个生成器了。

####九.闭包####

所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。

闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。

##3.关于javascript概要的学习导图## js

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published