在JavaScript中函数是一等公民.所谓一等公民是指函数跟其他对象一样,很普通,可以进行把函数存在数组中.作为参数传递.赋值给变量等操作.当函数作为另一个函数的返回值在外部调用时,跟该函数在函数内部调用时可访问的词法作用域一样,这种现象被称为闭包. 一.什么是闭包   闭包的定义有很多,比如:闭包是指有权访问另外一个函数作用域中变量的函数.或者更本质的定义:函数对象可以通过作用域链关联起来,函数体内部的变量都可以保存在函数作用域内,也就是说函数变量可以隐藏于作用域链之内,看上去是函数将变…
  在JavaScript中有六种数据类型:number.string.boolean.null.undefined以及对象,ES6加入了一种新的数据类型symbol.其中对象称为引用类型,其他数据类型称为基础类型.在面向对象编程的语言中,对象一般是由类实例化出来的,但是在JavaScript中并没有类,对象是以与类完全不同的设计模式产生的. 一.创建对象   最常用来创建的方式是通过对象字面量的方式,简单便捷.但是该方式为单例模式,如果创建类似的对象会产生过多重复的代码,如下代码所示: var…
  在JavaScript中,函数的每次调用都会拥有一个执行上下文,通过this关键字指向该上下文.函数中的代码在函数定义时不会执行,只有在函数被调用时才执行.函数调用的方式有四种:作为函数调用.作为方法调用.作为构造函数调用以及间接调用,判定this指向的规则跟函数调用的方式有关. 一.作为函数的调用   作为函数调用是指函数独立执行,函数没有人为指定的执行上下文.在有些情况下,作为函数调用的形式具有迷惑性,不仅仅是简单的函数名后面加括号来执行. 1.明确的作为函数调用   明确的作为函数调用…
  JavaScript中没有类,是通过使用构造函数和原型模式的组合来实现类似其它面向对象编程语言中"类"的功能.ES6引入的关键字class,形式上向其它面向对象编程语言靠拢,其实质只是一个语法糖,绝大部分功能ES5都可以实现. 一.class   在ES6之前,创建自定义对象最常用的方式是组合使用构造函数和原型模式.而ES6通过class关键字在形式上加以规范. // ES6之前的写法 function OldStudent (name,age) { this.name = nam…
  作用域是一组规则,规定了引擎如何通过标识符名称来查询一个变量.作用域模型有两种:词法作用域和动态作用域.词法作用域是在编写时就已经确定的:通过阅读包含变量定义的数行源码就能知道变量的作用域.JavaScript采用的是词法作用域,也称为执行环境.动态作用域不是在代码编写时静态决定的,而是在执行过程中被确定.JavaScript实际上没有动态作用域,但是this的用法有些像动态作用域.静态作用域关心函数在何处被声明,而动态作用域关心函数在何处被调用. 一.作用域链   在ES6之前,一般认为J…
前言 前三节内容传送门: 夯实基础系列一:Java 基础总结 夯实基础系列二:网络知识总结 夯实基础系列三:数据库知识总结 现在很多公司项目部署都使用的是 Linux 服务器,互联网公司更是如此.对于大一些的互联网公司,系统可能会非常复杂,本地无法启动,一般都会采用专门的开发机给开发人员开发测试使用.我实习期间接触的项目没一个可以在本地启动的,都需要写好代码,把代码更新到开发机上,然后编译部署,并查看部署过程中是否有错误或是查看访问这台机器的日志.而这些操作,都需要对基本的 Linux 命令熟悉…
[C++自我精讲]基础系列二 const 0 前言 分三部分:const用法.const和#define比较.const作用. 1 const用法 const常量:const可以用来定义常量,不可改变,const常量在定义时必须初始化(extern修饰时是特例). //const常量 ; extern const int Number; const指针: 1)const出现在*号左边,表示被指物是常量(不可以改变):注意:const写在类型之前和写在类型之后且*号之前是一样的. 2)const出…
译者按: 总结了大量JavaScript基本知识点,很有用! 原文: The Definitive JavaScript Handbook for your next developer interview 为了保证可读性,本文采用意译而非直译.另外,本文版权归原作者所有,翻译仅用于学习. 根据StackOverflow调查, 自2014年一来,JavaScript是最流行的编程语言.当然,这也在情理之中,毕竟1/3的开发工作都需要一些JavaScript知识.因此,如果你希望在成为一个开发者,…
JavaScript 设计模式基础(一) 原型模式 在以类为中心的面向对象编程语言中,类和对象的关系就像铸模和铸件的关系,对象总是从类中创建.而原型编程中,类不是必须的,对象未必从类中创建而来,可以拷贝另一个对象而变成新对象 从设计模式角度讲,原型模式是用于创建对象的一种模式,找到一个对象,不需要关心对象的具体类型,通过克隆来创建一个一模一样的对象. 原型不单是一种设计模式,也被称为编程泛型 原型编程中有一个重要特性:访问对象中某个属性或方法,而对象本身没有对应属性和方法,那么它会从自己的原型链…
基础篇主要是总结一些工作中遇到的技术问题是如何解决的,应为本人属于刚入行阶段技术并非大神如果笔记中有哪些错误,或者自己的一些想法希望大家多多交流互相学习. 1.ToFixed()函数 今天在做Birt报表时, 要显示一列百分比的数据,但因一些特别的原因,不能使用使用百分比样式,即如果数据是0.9538不能显示成“95.38%”的样式,必须显示成“95.38”. 开始时想使用javascript的内置函数Math.round(),可Math.round()只能显示为整数,而不能保留小数. 再网上搜…