js中!!的作用是: !!一般用来将后面的表达式转换为布尔型的数据(boolean) ===表示类型什么的全部相等(自己写一个if测试一下就好了)!==表示要全部不想等包括类型(一样写一个if)||或者的意思!!一般用来将后面的表达式转换为布尔型的数据(boolean) 因为javascript是弱类型的语言(变量没有固定的数据类型)所以有时需要强制转换为相应的类型,类似的如: a=parseInt("1234") a="1234"+0 //转换为数字 b=1234…
关于闭包的知识总结下: 一.闭包 1.定义 闭包的关键是作用域,概念是:能有读取其他函数内部的函数 使用的场景有很多,最常见的是函数封装的时候,再就是在使用定时器的时候,会经常用到; //闭包:有参数的加载事件(空参数形式) (function($){ alert("123"); })(jQuery); //有参数的加载事件 (function(\(){ alert(\)); })(456); (function($){ $("div p").click(funct…
闭包就是讲函数内部生成的变量保存到内存中,进行下次调用:也可以说函数外不可以调用函数内部的变量: 当函数内部返回一个函数时,闭包搭建了方法内部与方法外部的桥梁,使得外部也可以任意的获取到方法内部的资源,但是闭包会造成变量在内存中持久占用,因此会有一定的性能问题,不要轻易使用,即便使用,也要在恰当的时机进行释放.…
浅谈JS中的闭包 在介绍闭包之前,我先介绍点JS的基础知识,下面的基础知识会充分的帮助你理解闭包.那么接下来先看下变量的作用域. 变量的作用域 变量共有两种,一种为全局变量,一种为局部变量.那么全局变量的作用域为: 局部变量只能在定义此变量的函数体内使用,则局部变量的作用域为定义此变量的函数体.而全局变量可以全局使用.局部变量只有在调用函数的时候存在,函数调用完成之后立马就销毁了,而全局变量会一直存在. 首先我在全局变量中定义一个变量a,var a=0;那我们了解到变量a在内存中的存储是wind…
一直以来,我都以为我已经懂了JavaScript中闭包的概念,直到有一次小伙伴突然问我这个概念的时候,我才发现我根本不知道该怎来么跟他来讲述这个概念. 那时候我就知道我是自我欺骗,打肿脸充胖子了. 所以,花了点时间去专门了解了一下,今天专门记录一下自己所理解的闭包. 一. 概念 闭包,简单来讲,就是定义在函数内部的函数,使用闭包,可以让你有权访问另一个函数作用域内的变量. 所以,想要了解闭包的前提是,你首先要知道在JS中变量作用域的问题. 创建闭包的常见方式就是在函数内部去创建另一个函数: fu…
  前  言 JRedu 在之前的两篇博客中,我们详细探讨了JavaScript OOP中的各种知识点(JS OOP基础与JS 中This指向详解 . 成员属性.静态属性.原型属性与JS原型链).今天我们来继续探讨剩余的内容吧. 我们都知道,面向对象的三大特征--封装.继承.多态. 封装无非就是属性和方法的私有化,所以我们JS中提供了私有属性和私有方法. 而JS中并没有多态,因此我们说JS是一门基于对象的语言,而非面向对象的语言. 那么,面向对象三大特征中,在JS中最重要的就是继承了. 一继承的…
在前面的几篇文章中,我讲解过了js中的回收机制,但是对于当时的我来说,我自己对回收机制的这个概念也有些懵懵懂懂,现在对回收机制有了更深入的理解,所以特此发布此文给于总结,也好加深记忆. 如果你想学习闭包那么js中的回收机制是必不可少的,当然学习闭包除了需要理解js中的回收机制以外还需要了解其他的概念,我的其他文章有相关的说明,这里不做闭包的讲解. 为什么要有回收机制?why? 打个比方,我有一个内存卡,这个内存是8G的,我把文件,视频,音乐,都保存到了这个内存卡,随着我的储存的内容越来越多,这个…
构造函数不仅只出现在JavaScript中,它同样存在于很多主流的程序语言里,比如c++.Java.PHP等等.与这些主流程序语言一样,构造函数在js中的作业一样,也是用来创建对象时初始化对象,并且总与new运算符一起使用. 在js中,构造函数与普通函数的区别不是很大.接下来就主要讲讲两者的区别. 1.在命名规则上,构造函数一般是首字母大写,普通函数则是遵照小驼峰式命名法. 2.在函数调用时, //构造函数 function Egperson (name,age) { this.name = n…
表现:引入css样式文件能够作用到全局,而引入js文件就只能在main.js中产生作用 在 main.js 中引入的 css 都是全局生效的.引入的 js 文件只在 main.js 中生效,是因为 main.js 在webpack中是一个模块,a.js 也是一个模块,在其他地方是访问不到这个 a 的,这就是ES6的模块化,所以如果你想这个 a.js 全局可用,就需要绑定到全局对象上,比如绑定 Vue 上,让这个 a 暴露在全局对象上. 举例: import a from './a.js'; Vu…
闭包 我的理解是 能够有权访问另一个函数作用域中变量的函数 通常我们知道 普通的函数在调用完成之后,活动对象不会从内存中销毁,其执行环境的作用域链会被销毁,造成资源的浪费 而闭包的好处就在于执行完就会被回收 不会造成资源的极大的浪费 性能也会相应的提升~ 闭包的几种写法 //当只有一个返回的内部函数时候 //第一种写法 function test1(a,b){ return function(c){ console.log(a + b + c); } } var m1 = test1(2,4);…