
javacsript
文章平均质量分 65
初心鸿鹄
物有本末,事有终始,知所先后,则近道矣!
展开
-
Vue之路之--vue的初体验
正如官网教程上所说,“Vue.js 的核心是一个允许采用简洁的模板语法来声明式的将数据渲染进 DOM”,确实,vue的模板相对于angular等确实很简洁--var vue = new Vue({ el:"#container", data:{ datas:"开始学习新的框架了!", status:false, dataObj:{ date:new Date(Date.now原创 2017-07-19 22:08:57 · 443 阅读 · 0 评论 -
javascript之面向对象编程续
原型方法来解决构造函数所不能解决的问题;每一个函数都有一个prototype原型属性,这个属性是一个指针,指向一个对象,这个对象的用途是让所有构造函数的实例共享他所包含的属性和方法,为啥说他是共享的呢?无论何时,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个 prototype属性,这个属性指向函数的原型对象。在默认情况下,所有原型对象都会自动获得一个constructo原创 2017-07-03 17:46:38 · 381 阅读 · 0 评论 -
javascript的征程五---特殊的引用类型Bollean、Number、String
基本包装类型:Boolean,Number,String 明明是三种基本类型,为什么说是基本包装类型的呢? 这是因为一旦在访问这三种类型的变量的时候,js引擎会自动为你在后台创建这三种对应的基本包装对象实例, 然后执行一系列的操作,之后将该实例立即销毁(这个过程很短暂,只存在执行访问变量的那一行代码瞬间)引用类型与基本包装类型的主要区别就是对象的生存期。使用new操作符创建的引用类型的实例(是一个...原创 2017-06-12 16:36:01 · 680 阅读 · 0 评论 -
javascript的征程 --Function函数
在这里主要说一下自己以前不理解的地方,以便参考:其实对于一个函数而言,其定义方式有两种:一种是函数表达式的方式 例如: var fun = function(){.....},一种是函数声明就类似于这种:function fun(){......}。虽然两者的基本功能一样,但是还是有区别的,主要体现在浏览器引擎上的识别问题:对于前者如果调用在前而定义的表达式在后就会报错,但是对于后者(原创 2017-05-26 22:18:50 · 341 阅读 · 0 评论 -
正则表达式中的那些事儿
概述正则表达式(regular expression)是一种表达文本模式(即字符串结构)的方法,有点像字符串的模板,常常用作按照“给定模式”匹配文本的工具。比如,正则表达式给出一个Email地址的模式,然后用它来确定一个字符串是否为Email地址。JavaScript的正则表达式体系是参照Perl 5建立的。新建正则表达式有两种方法。一种是使用字面量,以斜杠表示开始和结束。转载 2017-05-24 17:36:44 · 1365 阅读 · 0 评论 -
正则的那些事儿(未完待续)
正则表达式可以认为是表达文本模式的方法,你也可以认为他是字符串的结构化的模板。通常情况下,正则有两种写法:一种是字面量的形式,一种是构造函数的形式。 var reg = /adf/i; var reg = new RegExp("adf", "i");不过两者功能一样,但是两者还是有区别的,字面量形式的表达式,当你在定义的时候新建的表达式,而后者是在运行的时候新建的表达式(毕原创 2017-05-24 15:20:46 · 372 阅读 · 0 评论 -
javaScript的征程一-关于对javascript的基本理解
javascript与ECMAScript的关系javaScript和ECMAScript(以下简称ECScript)并不是相等的,准确的说javascript是包含ECMAScript的,一个完整的javaScript实现应该包含三个部分:ECMAScript(js的核心),文本对象模型(DOM),浏览器对象模型(BOM)。关于ECMAScript由 ECMA-262 定义的 ECM原创 2017-04-01 12:32:45 · 707 阅读 · 0 评论 -
javascript的征程二--html中的javascript
问题一:javascript的引用方式有几种?有两种,分别是嵌入式和外部引入式,对于外部引入式,它引入的位置在哪里呢,一般而言是在body标签的底部,因为如果在head标签中引入script的外部文件,当script比较大的时候,整个页面就会有一段时间式空白的,如果这样的话,对用户体验就不好,这是因为浏览器在解析html'文档的时候式从上往下一次解析的;问题二:是不是在引入script标签原创 2017-04-02 10:53:25 · 637 阅读 · 0 评论 -
javascript的征程--date(日期)对象
日期对象,既然是对象,那么他就是一个引用类型的变量了,那么他还有其他的什么特性呢?如果要创造一个date对象就要用到 Date()的构造函数:var date = new Date(参数),参数可以是表示日期的字符串,也可以是表示具体时间的时间戳;获取当前时间的时间戳:Date.now()返回的是调用这个方法的时间的时间戳(ie9+),对于ie9以下的浏览器可通过 +号操作符把date原创 2017-05-08 21:37:47 · 427 阅读 · 0 评论 -
js作用域中的那些事儿(you don‘t know javascript)
在《你不知道的javascript(上)》中,了解到javascript在代码执行前会先对代码进行编译,引擎查找变量的过程中提到了LHS查询和RHS查询两个概念,下面就简单谈一下自己对其的理解:LHS查询:在查找变量中,如果查找的目的是为了给变量赋值(“=”),就会执行LHS查询。RHS查询:在查找变量中,如果查找的目的是为了找到该变量是啥,就会执行RHS查询。那么什么是作用域呢,作用原创 2017-12-16 16:35:21 · 351 阅读 · 0 评论 -
call和apply的那些事儿
call 与 apply 是什么call 方法应用于 Function 对象。语法为call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数解释`thisObj`可选项。将被用作当前对象的对象。`arg1, arg2, , argN`可选项。将被传递方法参数序列转载 2017-05-27 13:43:05 · 469 阅读 · 0 评论 -
一个小函数引起的思考
var a = [];for(var i = 0;i<10;i++){ a[i] = function(){ console.log(i) } a[0]()//0,1,2,3,4,5,6,7,8,9;console.log(a[i])}a[0]()//10console.log(a[i])你会发现,打印出来的全部是function(){console.log(i)},也就是说在原创 2017-07-18 22:24:32 · 411 阅读 · 0 评论 -
javascript 的征程---字符串的那些事儿
javascript中字符串其中有很多种方法,来实现对字符串各种各样的操作,以下仅仅是列举一些常用的方法:charAt():方法以单字符字符串的形式返回给定位置的那个字符串,如果是负值返回空;charCodeAt() :方法返回的是指定位置下的字符所对应的ASII码;concat():方法用来拼接字符串(可以是多个字符串,用“,”隔开),其实这个不常用一般而言用字符串拼接用+号即可;原创 2017-06-15 16:18:10 · 381 阅读 · 0 评论 -
javascript之闭包的理解
闭包,就是能够访问其他函数内部变量的函数,这是阮前辈说的,具体的可以查看其写的博客:学习javascript闭包,里面已经说的很清楚了。在这里主要说明的是在阮前辈的博客中留下的问题:var name = "The Window"; var object = { name : "My Object", getNameFunc : function(原创 2017-09-26 17:55:51 · 354 阅读 · 0 评论 -
javascript的征程三--js的基本概念
js中变量的命名规则:可以是数字,字母,下划线,美元符号,但第一个必须是字母,下划线,美元符号,采用驼峰命名法比较合适;js中的严格模式(待详细了解):严格模式是为 JavaScript 定义了一种不同的解析与执行模型。在严格模式下,ECMAScript 3 中的一些不确定的行为将得到处理,而且对某些不安全的操作也会抛出错误,在一定程度上提高了编译器的效,那么要在整个脚本中启用严格模式,可原创 2017-04-03 11:22:12 · 486 阅读 · 0 评论 -
javascript的征程四--函数
ECMAScript 函数的参数与大多数其他语言中函数的参数有所不同。ECMAScript 函数不介意传递进来多少个参数,也不在乎传进来参数是什么数据类型。也就是说,即便你定义的函数只接收两个参数,在调用这个函数时也未必一定要传递两个参数。可以传递一个、三个甚至不传递参数,之所以会这样,原因是 ECMAScript 中的参数在内部是用一个数组来表示的。函数接收到的始终都是这个数组,而不关心数组中包原创 2017-04-04 13:45:22 · 417 阅读 · 0 评论 -
Vue之路之--计算属性
先说说对官网上“计算属性”的理解:为啥要利用计算属性?是为了来应对复杂计算的挑战,一般情况下,对于简单的模板,因为逻辑比较简单,所以就直接用就行了,但是如果要对模板中的表达式做复杂的处理,而且要用到多个地方,如果直接写将会很复杂,而且也不利于维护,所以“计算属性”就是为了解决这个问题而生的(个人观点)先看代码:Html部分 {{datas}} {{slicefun}}原创 2017-08-07 23:04:22 · 568 阅读 · 0 评论 -
Vuejs之路之--对实例生命周期的理解
用Vue框架,熟悉它的生命周期可以让开发更好的进行。首先先看看官网的图,详细的给出了vue的生命周期:它可以总共分为8个阶段:beforeCreate(创建前),created(创建后),beforeMount(载入前),mounted(载入后),beforeUpdate(更新前),updated(更新后),bef转载 2017-08-02 22:02:02 · 3787 阅读 · 0 评论 -
Vuejs之路之--style和class的绑定
数据绑定一个常见需求是操作元素的 class 列表和它的内联样式。因为它们都是属性 ,我们可以用v-bind 处理它们,在 v-bind 用于 class 和 style 时,表达式的结果类型除了字符串之外,还可以是对象或数组。直接上代码: 绑定class .addback{ background:#fff; } .fontColor{ color:原创 2017-08-10 17:31:38 · 442 阅读 · 0 评论 -
Vuejs之路之--循环渲染
一看见循环,我们就自然就想到了for循环,所以这里讲的就是v-for的故事,废话少说--总结之:1.其实v-for的语法格式为v-for = item in(of)items,在这里items可以是数组,对象等等,item是子自己定义的 ,表示items中的元素或者子项;2.源数据是数组的话,还可以 v-for = (item,[index]) in(of) items 在这里inde原创 2017-08-16 22:46:40 · 2104 阅读 · 0 评论 -
Vuejs之路之--过滤器的那些事
过滤器,说实话其主要的目的就是处理文本的--将文本按照一定得格式输出出来,或者表现出来;来满足各种各样的文本需求,按照官方的话就是:可被用作一些常见的文本转换(格式化,因为可以复用)例如:过滤器可以用在哪里?两个地方:mustache 插值和 v-bind 表达式。过滤器也是可以串联的,串联的方式也是利用管道符,顾名思义就是前一个过滤器处理好的输出作为后一个过滤器的输入原创 2017-08-06 20:58:10 · 421 阅读 · 0 评论 -
vuejs之路之--条件渲染
顾名思义,就是根据条件的不同来渲染,只有当条件为真的时候才显示:总结之......1.就是v-if,v-else,v-else-if之间的关系,只有其中某一个的值为真的时候才会渲染,但是有一点要注意的是,v-else,v-else-if必须要紧跟着v-if或者v-else-if之后才行,否则vuejs将不会识别2.template元素通常可以作为包装元素,包装一个元素块(里面可以有多个原创 2017-08-14 22:46:24 · 378 阅读 · 0 评论 -
vuejs之路之--v-model表单绑定
vuejs和表单元素之间的双向绑定是通过v-model实现的,当然表单有很多种元素,下面就让我们看一下在不同的表单元素之间是怎么实现双向绑定的吧;数据绑定-单行文本你输入的内容是:{{datas}}传统的输入框扳绑定,不再赘述;数据绑定多行文本 文本域中输入的内容是:{{message}} {{mes}} 绑定的是一个文本域,你也许会发现上面的例子将来文本域中到底会显原创 2017-08-24 22:53:55 · 1915 阅读 · 0 评论 -
vuejs之路之--事件绑定
vuejs中的事件绑定,使用v-on:事件名 = 函数名来完成的,这里函数名是定义在Vue实例中的methods对象中的,Vue实例可以直接访问其中的方法;如果定义的函数有参数,那么你可以像原生js那样把参数携带进来就可以了在,注意引号;如下所示:点我有变化//click事件名,clickFun是在methods中定义的方法;Vuejs还为我们定义了一些修饰符;通过由点(.)表示的指令后缀原创 2017-08-21 22:55:43 · 3740 阅读 · 0 评论 -
javascript的征程之面向对象编程
javascript中的对象和传统意义上的对象有所不同,前者包含的没有类的概念,因此这里的面向对象编程(oop)也就不一样了创建对象:一般常用的是字面量的方法和构造函数的方法,但是这样有一个缺点就是一个接口可以创建很多个对象,这就造成了代码的冗余为了解决这个问题--工厂模式工厂模式说白了就是通过封装一个函数来创建对象(return出对象),但是这样做的缺点很明显就是不知道对象的类型。原创 2017-06-26 19:35:49 · 438 阅读 · 0 评论 -
Vuejs之路之--子父之间的通信
父传子是单向的,子会因父的改变而改变,但父并不会因子的改变而改变。这是由于Vue.js怕父的数据会被使用者在不知情的情况下改变。但是,子还是可以绕一个圈,把自己的数据传给父。途径:自定义事件。在解释子数据传给父之前,必须先要对事件有一个了解。所谓事件,就是触发JS代码的“动作”,比如,点击(click), 输入(input)等等。 Vue.js 使用v-on转载 2017-09-13 22:41:17 · 792 阅读 · 0 评论 -
javascript的征程五--数组
注:这里主要记录的是自己以前不知道的知识数组的length属性不是只读的,也就意味着通过设置这个属性来向数组中添加某一项或者删除某一项,例如: var arr = ["从前","有一个","小孩","他"]; arr.length = 3; console.log(arr)//删除:["从前", "有一个", "小孩"]; arr[arr.length] = "回家的路原创 2017-04-25 22:46:32 · 344 阅读 · 0 评论 -
javascript的征程五--变量、作用域、内存
在javascript中,对于一个变量,这个变量所包含的值可能是基本类型的值也可能是引用类型的值,不同的值的类型,操作也就有所差别(基本类型就是那五种数据类型,不包括obj,对于引用类型的就是保存在内存中的对象,简而言之,变量所包含的值是一个对象);复制变量时:当你复制变量的值给另一个变量的时候,如果说该变量的值是基本类型,那么两个变量是相互独立的,互相不影响,因为相当于把一个变量的值复制原创 2017-04-05 20:23:27 · 379 阅读 · 0 评论 -
函数function(未完待续)
js中的每一个函数都是 Function类型的实例(new Function()),也就是说函数是一个对象(引用类型),函数名其实包含着的是指向当前函数的指针(你懂的)。定义函数的方法:声明式和表达式的方法// 定义函数的方法:声明式function getSum(num1){ return num1+10}// 表达式的方式var getSum1 = function(num1){ ...原创 2018-02-06 12:36:40 · 352 阅读 · 0 评论