JavaScript介绍
JavaScript的历史
- 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中),后将其改名ScriptEase(客户端执行的语言)。
- Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言。Sun和Netscape共同完成,后改名叫JavaScript。
- 微软随后模仿在其IE3.0的产品中搭载了一个JavaScript的克隆版叫Jscript。
- 为了统一三家,ECMA(欧洲计算机制造协会)定义了ECMA-262规范.国际标准化组织及国际电工委员会(ISO/IEC)也采纳 ECMAScript 作为标准(ISO/IEC-16262)。从此,Web 浏览器就开始努力(虽然有着不同的程度的成功和失败)将 ECMAScript 作为 JavaScript 实现的基础。
- ECMA-262 是 JavaScript 标准的官方名称。
ECMAScript
年份 | 名称 | 描述 |
1997 | ECMAScript 1 | 第一个版本 |
1998 | ECMAScript 2 | 版本变更 |
1999 | ECMAScript 3 | 添加正则表达式 添加try/catch |
ECMAScript 4 | 没有发布 | |
2009 | ECMAScript 5 | 添加"strict mode"严格模式 添加JSON支持 |
2011 | ECMAScript 5.1 | 版本变更 |
2015 | ECMAScript 6 | 添加类和模块 |
2016 | ECMAScript 7 | 增加指数运算符(**) 增加Array.prototype.includes |
注:ES6就是指ECMAScript6.
尽管 ECMAScript是一个重要的标准,但它并不是JavaScript唯一的部分,当然也不是唯一被标准化的部分。实际上,一个完事的JavaScript实现是由以下3个不同部分组成的:
核心(ECMAScript)
文档对象模型(DOM)Document object model(整合js,css,html)
浏览器对象模型(BOM)Broswer object model(整合js和浏览器)
简单说ECMAcript描述了JavaScript语言本身的相关内容。
JavaScript和shell一样属于脚本语言
JavaScript是一种轻量级的编程语言
JavaScript是可插入HTML页面的编程代码。
JavaScript插入HTML页面后,可由所有的现代浏览器执行。
JavaScript比较简单,容易上手。
JavaScript引入方式
Script标签内写代码
<script> ?// 在这里写你的JS代码</script>
引入额外的JS文件
<script src="test.js"></script>
JavaScript语言规范
注释
// 这是单行注释/*这是多行注释*/
结束符
JavaScript中的语句以分号 ; 为结束符。
JavaScript语言基础
变量声明
1.JavaScript的变量名可以使用_,数字,字母,$组成,不能以数字开头。
2.声明变量使用var变量名; 的格式来进行声明
var name = "Alex";var age = 18;
注意:
变量名是区分大小写的。
推荐使用驼峰式命名规则。
保留字不能用做变量名。
abstractbooleanbytecharclassconstdebuggerdoubleenumexportextendsfinalfloatgotoimplementsimportintinterfacelongnativepackageprivateprotectedpublicshortstaticsupersynchronizedthrowstransientvolatile
JavaScript数据类型
JavaScript拥有动态类型
var x; ?// 此时x是undefinedvar x = 1; ?// 此时x是数字var x = "Alex" ?// 此时x是字符串
数字类型
JavaScript不区分整型和浮点弄,就只有一种数字类型。
var a = 12.34;var b = 20;var c = 123e5; ?// 12300000var d = 123e-5; ?// 0.00123
还有一种NAN,表示不是一个数字(Not a Number)。
常用方式:
parseInt("123") ?// 返回123parseInt("ABC") ?// 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。parseFloat("123.456") ?// 返回123.456
字符串
var a = "Hello"var b = "world;var c = a + b; console.log(c); ?// 得到Helloworld
常用方法:
方法 | 说明 |
.length | 返回长度 |
.trim() | 移除空白 |
.trimLeft() | 移除左边的空白 |
.trimRight() | 移除右边的空白 |
.charAt(n) | 返回第n个字符 |
.concat(value, ...) | 拼接 |
.indexOf(substring, start) | 子序列位置 |
.substring(from, to) | 根据索引获取子序列 |
.slice(start, end) | 切片 |
.toLowerCase() | 小写 |
.toUpperCase() | 大写 |
.split(delimiter, limit) | 分割 |
拼接字符串一般使用“+”
string.slice(start, stop)和string.substring(start, stop):两者的相同点:如果start等于end,返回空字符串如果stop参数省略,则取到字符串末如果某个参数超过string的长度,这个参数会被替换为string的长度substirng()的特点:如果 start > stop ,start和stop将被交换如果参数是负数或者不是数字,将会被0替换silce()的特点:如果 start > stop 不会交换两者如果start小于0,则切割从字符串末尾往前数的第abs(start)个的字符开始(包括该位置的字符)如果stop小于0,则切割在从字符串末尾往前数的第abs(stop)个字符结束(不包含该位置字符)
常用方法:
方法 | 说明 |
.length | 数组的大小 |
.push(ele) | 尾部追加元素 |
.pop() | 获取尾部的元素 |
.unshift(ele) | 头部插入元素 |
.shift() | 头部移除元素 |
.slice(start, end) | 切片 |
.reverse() | 反转 |
.join(seq) | 将数组元素连接成字符串 |
.concat(val, ...) | 连接数组 |
.sort() | 排序 |
前端--JS
原文地址:https://www.cnblogs.com/tsboy/p/8535464.html