首页 / JAVASCRIPT / javaScript
javaScript
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javaScript,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3370字,纯文字阅读大概需要5分钟。
内容图文
![javaScript](/upload/InfoBanner/zyjiaocheng/596/0136008ee546437c98232fa4dce211e9.jpg)
JavaScipe发展史
- javaScript是1995年诞生的
- javaScript于1997发布javaScript1.0标准版本(TC29委员会-ECMA262)
- javaScript于1998发布javaScript2.0标准版本
- javaScript于1999发布javaScript3.0标准版本
- javaScript于2005针对javaScript4.0的讨论,比较激烈,不欢而散
- javaScript于2009发布javaScript5.0标准版本
- javaScript于2011发布EcmaScript5.1标准版本
- javaScript于2015发布EcmaScript2015(也称ES6)标准版本
- javaScript于2016发布EcmaScript2016(ES7)标准版本
JavaScrip
javaScript:是一种单线程的可以在浏览器或服务端的弱类脚本语言
- 单线程 :
进程 | 线程 |
---|---|
完成一项任务所经历的过程 | 线程比进程的范围要小一个进程可以包括多个线程 |
- 弱类型:变量的类型由赋值的类型决定
- 脚本语言:JavaScript是一种解释型的脚本语言,是在程序的运行过程中逐行进行解释执行,不需要预编译。;而Java、C++等语言需要先编译后执行;
javaScript和ECMAScript关系
javaScript包括三部分:ECMAScript(核心),DOM,BOM
const 与 let 变量和var的区别
let 的特性
不存在变量
提升暂时性死区
不允许重复声明 .
块级作用域
const新特性
不存在变量提升
暂时性死区
不允许重复声明
块级作用域
声明的变量不允许重新赋值
声明必须有初始化值
var 的特性
有变量提升
没有块级作用域
可以重复声明
箭头函数和普通函数区别
- 箭头函数是匿名函数,不能作为构造函数,不能使用new,并且箭头函数内部的没有this,this指向箭头函数的父类
- 箭头函数不能绑定arguments,取而代之用rest参数…解决,普通函数的this指向调用它的对象
普通函数this的指向
// 普通函数
function A(a){
console.log(this);
}
- 箭头函数this的指向
var a = ()=>{
console.log(this);
}
es5 类和es6的区别
- 在es5中主要是通过构造函数方式和原型方式来定义一个类,在es6中我们可以通过class来定义类
- class类必须new调用,不能直接执行。
- class类执行的话会报错,而es5中的类和普通函数并没有本质区别
- class类不存在变量提升
- class类无法遍历它实例原型链上的属性和方法
模板字符串
js定义字符串的形式有3种:单引号(’ '),双引号(" "),反引号()
let str1='!!!!';
let str2="XXXX"
let str3=`我爱${str2}` // 我爱XXXX
数组和字符串新增的api方法:
- 字符串:
str.includes(‘’) 检测字符是否有某个字符串,如果有返回true,否则false
str.startsWith(‘’) 检测字符是否在字符串开始,如果是返回true,否则false
str.endsWith(‘’)检测字符是否在字符串结尾,如果是返回true,否则false - 数组:
何为类数组:也称伪数组,看着像数组,但不具备数组的api方法,但伪数组有length属性,可以像真实数组那样通过下标来访问
什么是数组扁平化
- 数组扁平化就是将一个多维数组转换为一个一维数组
var arr = [555,[888,[99]], , 999];
console.log(arr.flat(Infinity)) // [555, 888, 99, 999]
//flat()默认只会拉平一层,flat(n)拉平n层,Infinity无限次
//flat()会跳过空格,返回新数组不改变原数组
set和map
Map和Set都叫做集合,但是他们也有所不同。Set常被用来检查对象中是否存在某个键名,Map集合常被用来获取已存的信息。
- set:
Set和数组太像了,Set集合的特点是没有key,没有下标,只有size和原型以及一个可迭代的不重复元素的类数组。既然这样,我们就可以把一个Set集合转换成数组,也可以把数组转换成Set。 - map:如果说Set像数组,那么Map更像对象。而对象中的key只支持字符串,Map更加强大,支持所有数据类型,不管是数字、字符串、Symbol等。
对比Set集合的原型,Map集合的原型多了set()和get()方法,注意set()和Set集合不是一个东西。Map没有add,使用set()添加key,value,在Set集合中,使用add()添加value,没有key.
es6之扩展运算符 三个点(…)
- 对象中的扩展运算符(…)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中
let bar = { a: 1, b: 2 };
let baz = { ...bar }; // { a: 1, b: 2 }
上面的方法实际上等价于:
let bar = { a: 1, b: 2 };
let baz = Object.assign({}, bar); // { a: 1, b: 2 }
- 数组的扩展运算符
function add(x, y) {
return x + y;
}
const numbers = [4, 50];
add(...numbers) // 54
内容总结
以上是互联网集市为您收集整理的javaScript全部内容,希望文章能够帮你解决javaScript所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。