我们都知道JavaScript中的var,在本系列的 JavaScript学习系列2一JavaScript中的变量作用域 中,我们详细阐述了var声明的变量的作用域 文章中提到,JavaScript中没有块级作用域(由{}限定的作用域), 也就是说JS中变量的作用域只有两种,一种是全局作用域,另一种就是函数作用域 但是,其实在ES6中,新增了let命令,改变了这种状况,它为JavaScript增加了块级作用域. ES6中还有一个const命令. 我们现在来看看它们 一个简单的例子 { let a…
在JavaScript中, ES6开始有rest参数 和 三个点扩展运算符 (spread运算符) 我们来看看他们各自的用处 1. rest参数 rest参数的形式为 ...变量名           用于获取函数调用时传入的参数.  顾名思义, rest参数表示的是除了明确指定的参数外,剩下的参数的集合, 它的类型是Array 举个例子如下 function restFunc(...args) { return args.length; } restFunc('This','is','rest…
JavaScript中有8个关系运算符,分别是 ===, !===, ==, !=, <, <=, >, >= 1. 恒等运算符 (===) ===也叫做 严格相等运算符,它要求比较的双方,值和类型都完全相同 如果两个值都是undefined, Null, Boolean, Number, String相同原始类型的值,值相同,就返回true, 否则,就返回false console.log(undefined === undefined); //true console.log(…
今天,我们来说一说JavaScript中的运算符,首先我们来讲一讲 一元运算符 JavaScript中的一元运算符有以下几种 1. delete delete 运算符主要用于删除对以前定义的对象属性或者方法的引用, 举个例子如下 var myObj = new Object(); // 这一句和 var myobj = new Object(); 等价 myObj.name = "Luke"; alert(myObj.name); // 输出 "Luke" dele…
程序开发中,涉及到的内存生命周期基本是一样的,分为以下三步 1. 分配需要的内存 2. 使用分配到的内存 3. 释放其内存    ----什么时候释放内存,以及需要释放哪些变量的内存, 就是垃圾回收机制的事情了. JavaScript有自带的垃圾收集器,它负责跟踪内存的分配和使用,当发现已经分配的内存不再使用时,就负责自动释放它. JavaScript的垃圾收集器会按照固定的时间间隔, 或者代码执行过程中预定的收集时间,周期性的来执行这一操作. JavaScript中,局部变量的作用范围是函数内…
在实际项目开发中,目前还是很少使用到JavaScript 中的arguments对象,那么它到底是干什么用的呢 arguments是JavaScript中的一个类数组对象,它代表传给一个正在执行的函数function的参数列表. 看完这个定义,需要明白,它是一个对象,不是一个数组,但是它这个对象却又类似数组,也就是说样子和数组类似. 那它的内容,它里面的内容是传递给正在执行的函数Function的参数列表 上面都特别强调,是 正在执行的函数function,这也就是说,arguments对象只有…
JavaScript学习(1)之JavaScript基础 由于工作原因,开发语言逐渐以JavaScript为主,所以,抽空学习了下JavaScript语法.等现阶段的工作稳定之后,陆续会分享下自己在学习和开发过程中的一些经验总结.本着"技多不压身"的原则以及对各种编程语言的热爱,虽然笔者一直从事游戏开发工作,也愉快而又义无反顾的加入了JavaScript阵营. 1.JavaScript概述以应用范围 1.1 JavaScript概述 首先,JavaScript是一门动态类型的编程语言.…
JavaScript:学习笔记(7)——VAR.LET.CONST三种变量声明的区别 ES2015(ES6)带来了许多闪亮的新功能,自2017年以来,许多JavaScript开发人员已经熟悉并开始使用这些功能.虽然这种假设可能是正确的,但仍有可能其中一些功能对某些人来说仍然是一个谜. ES6带来的一个新特性是新增了通过使用let.const来声明变量.在本文中,我们将讨论var,let和const的范围,使用和提升.在您阅读时,请注意它们之间的差异,我会指出. VAR VAR的范围 范围本质是意…
对于 ES6 新特性中的 ... 可以简单的理解为下面一句话就可以了: 对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中. 作用类似于 Object.assign() 方法,我们先来看一下 Object.assign() 方法: Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象.如下: const target = { a: 1, b: 2 }; const source = { b: 4, c: 5…
参考: es6 扩展运算符 三个点(...) 经常回顾,方能真正掌握. 一.含义 扩展运算符( spread )是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(...[1, 2, 3]) // 1 2 3 console.log(1, ...[2, 3, 4], 5) // 1 2 3 4 5 [...document.querySelectorAll('div')] // [<div>, <div>, <di…