#新理解

模拟源码深入理解Vue数据驱动原理(1)

  Vue有一核心就是数据驱动(DataDriven),允许我们采用简洁的模板语法来声明式的将数据渲染进DOM,且数据与DOM是绑定在一起的,这样当我们改变Vue实例的数据时,对应的DOM元素也就会改变了。  通过粗浅地走读Vue的源码,发现达到这一效果的核心思路其实就是利用ES5的defineProperty方法,监...

深入理解Vue父子组件通讯的属性和事件

  在html中使用元素,会有一些属性,如class,id,还可以绑定事件,自定义组件也是可以的。当在一个组件中,使用了其他自定义组件时,就会利用子组件的属性和事件来和父组件进行数据交流。  父子组件之间的通信就是propsdown,eventsup,父组件通过属性props向下传递数据给子组件,子组件通过事件even...

D3.js系列——动态效果和Update、Enter、Exit的理解

一、动态效果  D3支持制作动态的图表。有时候,图表的变化需要缓慢的发生,以便于让用户看清楚变化的过程,也能给用户不小的友好感。1、什么是动态效果  前面制作的图表是一蹴而就地出现,然后绘制完成后不再发生变化的,这是静态的图表。  动态的图表,是指图表在某一时间段会发生某种变化,可能是形状、颜色、位置等,而且用户是可以...

深入理解JS函数作用域链与闭包问题

functionfun(n,o){console.log(o)return{fun:function(m){returnfun(m,n);}};}vara=fun(0);a.fun(1);a.fun(2);a.fun(3);//undefined,?,?,?varb=fun(0).fun(1).fun(2).fun(3...

理解JS里的偏函数与柯里化

  联系到上篇博客讲的bind完整的语法为:letbound=func.bind(context,arg1,arg2,...);  可以绑定上下文this和函数的初始参数。举例,我们有个乘法函数mul(a,b):functionmul(a,b){returna*b;}  我们可以在该函数的基础上使用绑定创建一个doub...
代码星球 代码星球·2020-06-27

MVVM模式理解

  MVVM是Model-View-ViewModel的缩写,它是一种基于前端开发的架构模式,其核心是提供对View和ViewModel的双向数据绑定,这使得ViewModel的状态改变可以自动传递给View,即所谓的数据双向绑定。  Vue.js是一个提供了MVVM风格的双向数据绑定的Javascript库,专注于V...
代码星球 代码星球·2020-06-27

详细理解javascript中的强制类型转换

  将值从一种类型转换为另一种类型通常称为类型转换,这是显式的情况;隐式的情况称为强制类型转换,JavaScript中的强制类型转换总是返回标量基本类型值,如字符串、数字和布尔值。  如何理解:类型转换发生在静态类型语言的编译阶段,而强制类型转换则发生在动态类型语言的运行时?  1、如果是静态语言,比如c等,所有的类型...

深入理解ES6里的promise

一、ES6Promise是什么?  复杂的概念先不讲,我们先简单粗暴地把Promise用一下,有个直观感受。那么第一个问题来了,Promise是什么呢?是一个类?对象?数组?函数?  别猜了,直接打印出来看看吧,console.dir(Promise),就这么简单粗暴。  这么一看就明白了,Promise是一个构造函数...

深入理解dataset及其用法

  DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描...

深入理解JavaScript中的函数操作——《JavaScript忍者秘籍》总结

  对于什么是匿名函数,这里就不做过多介绍了。我们需要知道的是,对于JavaScript而言,匿名函数是一个很重要且具有逻辑性的特性。通常,匿名函数的使用情况是:创建一个供以后使用的函数。简单的举个例子如下:window.onload=function(){alert('hello');}vartemplateObj=...

深入理解AMD和RequireJS!

AMD  基于commonJS规范的nodeJS出来以后,服务端的模块概念已经形成,很自然地,大家就想要客户端模块。而且最好两者能够兼容,一个模块不用修改,在服务器和浏览器都可以运行。但是,由于一个重大的局限,使得CommonJS规范不适用于浏览器环境。还是上面的代码,如果在浏览器中运行,会有一个很大的问题,你能看出来...
代码星球 代码星球·2020-06-27

深入理解CommonJS!

CommonJS  一开始大家都认为JS是辣鸡,没什么用,官方定义的API只能构建基于浏览器的应用程序,CommonJS就按耐不住了,CommonJSAPI定义很多普通应用程序(主要指非浏览器的应用)使用的API,从而填补了这个空白。它的终极目标是提供一个类似Python,Ruby和Java标准库。这样的话,开发者可以...
代码星球 代码星球·2020-06-27

理解JS中的模块规范(CommonJS,AMD,CMD)

  随着互联网的飞速发展,前端开发越来越复杂。本文将从实际项目中遇到的问题出发,讲述模块化能解决哪些问题,以及如何使用Sea.js进行前端的模块化开发。  我们从一个简单的习惯出发。我做项目时,常常会将一些通用的、底层的功能抽象出来,独立成一个个函数,比如functioneach(arr){//实现代码}functio...

深入理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法

  本文重点是来讲讲jQuery中调用ajax的4种方法:$.get、$.post、$getJSON、$ajax。1、$.get  $.get()方法使用GET方式来进行异步请求,它的语法结构为:$.get(url[,data][,callback])  解释一下这个函数的各个参数:url:string类型,ajax请...

深入理解JavaScript模拟私有成员

  一般的面向对象语言C++或JAVA,对象都是有私有成员的。js中没有类的改变,同样也没有对象的私有成员这个概念。但是可以通过某些特殊写法,模拟出私有成员。1、特权模式:  (1)在构造函数内部声明的变量、子函数以及参数,全部都是函数私有的,可以看作私有成员。给this指针添加的闭包,全部都是公有成员。  所以下面例...
首页上一页...3435363738...下一页尾页