2020-05-08
好程序员 web前端培训
好程序员web前端培训分享JavaScript学习笔记之ES5,我们所说的ES5 和 ES6 其实就是在 js 语法的发展过程中的一个版本而已
比如我们使用的微信
最早的版本是没有支付功能的
随着时间的流逝,后来出现了一个版本,这个版本里面有支付功能了
ECMAScript 就是 js 的语法
以前的版本没有某些功能
在 ES5 这个版本的时候增加了一些功能
在 ES6 这个版本的时候增加了一些功能
因为浏览器是浏览器厂商生产的
ECMAScript 发布了新的功能以后,浏览器厂商需要让自己的浏览器支持这些功能
这个过程是需要时间的
所以到现在,基本上大部分浏览器都可以比较完善的支持了
只不过有些浏览器还是不能全部支持
这就出现了兼容性问题
所以我们写代码的时候就要考虑哪些方法是 ES5 或者 ES6 的,看看是不是浏览器都支持
var arr = ['a', 'b', 'c']// forEach 就是将数组循环遍历,数组中有多少项,那么这个函数就执行多少回arr.forEach(function (item, index, arr) {
// 在这个函数内部 // item 就是数组中的每一项 // index 就是每一项对应的索引 // arr 就是原始数组 console.log(item)
console.log(index)
console.log(arr) })
var arr = ['a', 'b', 'c']for (var i = 0; i < arr.length; i++) {
fn(arr[i], i, arr)}function fn(item, index, arr) {
console.log(item)
console.log(index)
console.log(arr)}
var arr = ['a', 'b', 'c']// forEach 就是将数组循环遍历,数组中有多少项,那么这个函数就执行多少回var newArr = arr.map(function (item, index, arr) {
// 函数里面的三个参数和 forEach 一样 // 我们可以在这里操作数组中的每一项, // return 操作后的每一项 return item + '11'})console.log(newArr) // ["a11", "b11", "c11"]
var arr = ['a', 'b', 'c']var newArr = []for (var i = 0; i < arr.length; i++) {
newArr.push(fn(arr[i], i, arr))}function fn(item, index, arr) {
return item + '11'}console.log(newArr)
var arr = [1, 2, 3, 4, 5]var newArr = arr.filter(function (item, index, arr) {
// 函数内部的三个参数和 forEach 一样 // 我们把我们的条件 return 出去 return item > 2})console.log(newArr) // [3, 4, 5]
var arr = [1, 2, 3, 4, 5]var newArr = []for (var i = 0; i < arr.length; i++) {
if (fn(arr[i], i, arr)) {
newArr.push(arr[i])
}}function fn(item, index, arr) {
return item > 2}console.log(newArr)
var jsonObj = '{ "name": "Jack", "age": 18, "gender": "男" }'var jsonArr = '[{ "name": "Jack", "age": 18, "gender": "男" }, { "name": "Jack", "age": 18, "gender": "男" }, { "name": "Jack", "age": 18, "gender": "男" }]'
var jsonObj = '{ "name": "Jack", "age": 18, "gender": "男" }'var jsonArr = '[{ "name": "Jack", "age": 18, "gender": "男" }, { "name": "Jack", "age": 18, "gender": "男" }, { "name": "Jack", "age": 18, "gender": "男" }]'var obj = JSON.parse(jsonStr)var arr = JSON.parse(jsonArr)console.log(obj)console.log(arr)
var obj = {
name: 'Jack',
age: 18,
gender: '男'}var arr = [
{
name: 'Jack',
age: 18,
gender: '男'
},
{
name: 'Jack',
age: 18,
gender: '男'
},
{
name: 'Jack',
age: 18,
gender: '男'
}]
var jsonObj = JSON.stringify(obj)var jsonArr = JSON.stringify(arr)
console.log(jsonObj)console.log(jsonArr)
function fn() {
console.log(this)}fn()// 此时 this 指向 window
var obj = {
fn: function () {
console.log(this)
}}obj.fn()// 此时 this 指向 obj
setTimeout(function () {
console.log(this)}, 0)// 此时定时器处理函数里面的 this 指向 window
div.onclick = function () {
console.log(this)}// 当你点击 div 的时候,this 指向 div
(function () {
console.log(this)})()// 此时 this 指向 window
var obj = { name: 'Jack' }function fn(a, b) {
console.log(this)
console.log(a)
console.log(b)}fn(1, 2)fn.call(obj, 1, 2)
var obj = { name: 'Jack' }function fn(a, b) {
console.log(this)
console.log(a)
console.log(b)}fn(1, 2)fn.call(obj, [1, 2])
var obj = { name: 'Jack' }function fn(a, b) {
console.log(this)
console.log(a)
console.log(b)}fn(1, 2)var newFn = fn.bind(obj)newFn(1, 2)
开班时间:2021-04-12(深圳)
开班盛况开班时间:2021-05-17(北京)
开班盛况开班时间:2021-03-22(杭州)
开班盛况开班时间:2021-04-26(北京)
开班盛况开班时间:2021-05-10(北京)
开班盛况开班时间:2021-02-22(北京)
开班盛况开班时间:2021-07-12(北京)
预约报名开班时间:2020-09-21(上海)
开班盛况开班时间:2021-07-12(北京)
预约报名开班时间:2019-07-22(北京)
开班盛况Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号