随笔分类 -  JavaScript

摘要:1、操作表单1.1 表单提交之前提到过使用JS操作DOM,实际上这里操作表单的方式是一样的。获取表单中的值和状态等,再对其节点加以利用其属性如value、checked等属性就可以了。这里主要描述表单提交的方式,一般浏览器默认点击 时提交表单,实际上,我们稍作变化,下面也是我们经常可以使用的提交表单的方式:第一种button响应click事件,触发方法抓取节点form,通过该对象的submit(... 阅读全文
posted @ 2017-04-07 11:06 Dulk 阅读(423) 评论(0) 推荐(0)
摘要:1、DOM操作梗概本篇内容实际上在另一篇笔记《从JS和jQuery浅谈DOM操作》已经提到了重点的地方,可以戳链接另外进行阅读。以前提到过,实际上HTML在被浏览器加载以后,会变成 “一棵DOM树”,里面的节点都是HTML DOM对象,而我们针对于DOM的操作,也就是针对这些节点对象来进行的,一般来说就是增、删、改、查(遍历)操作。最常见的获取DOM节点的方式,无非是 document.getEl... 阅读全文
posted @ 2017-04-07 10:22 Dulk 阅读(272) 评论(0) 推荐(0)
摘要:1、BOM 和 DOM参考链接:DOM, DOCUMENT, BOM, WINDOW 有什么区别?浏览器对象模型 Browser Object Model,在下图中管A-D区,是为了操作浏览器出现的API,window是其的一个对象;文档对象模型 Document Object Model,在下图中管E区,是为了操作浏览器出现的API,document是其的一个对象。JS可以获得浏览器提供的很多对... 阅读全文
posted @ 2017-04-04 12:36 Dulk 阅读(403) 评论(0) 推荐(0)
摘要:1、原型继承在上一篇中,我们提到,JS中原型继承的本质,实际上就是 “将构造函数的原型对象,指向由另一个构造函数创建的实例”。这里,我们就原型继承的概念,再进行详细的理解。首先回顾一下之前的一个示例,Student构造函数 和 原型链:function Student(props) { this.name = props.name || 'Unnamed'; } Student.pro... 阅读全文
posted @ 2017-03-30 23:27 Dulk 阅读(524) 评论(0) 推荐(0)
摘要:1、JS中对象的”不同”:原型概念从Java中我们可以很好地去理解 “类” 和 “实例” 两个概念,可是在JavaScript中,这个概念却不一样。JavaScript不区分类和实例的概念,而是通过原型(prototype)来实现面向对象编程。原型是指当我们想要创建一个具体对象时,并没有像Java中那样有类可以使用,但是却可以利用类似“继承”的方式,这里类似“父类”的对象,就是所谓的原型。(再简单... 阅读全文
posted @ 2017-03-29 23:13 Dulk 阅读(562) 评论(0) 推荐(0)
摘要:1、基本概念 和 定义用一种描述性的语言来给字符串定义一个规则,你可以形象地理解正则表达式是一个“框”,凡是符合大小形状条件的字符串,都算是“匹配“了。JS中有两种方式定义正则表达式:通过 /正则表达式/ 写出来;通过 new RegExp(' 正则表达式 ') 创建RegExp对象var re1 = /ABC\-001/; var re2 = new RegExp('ABC\\-001'); ... 阅读全文
posted @ 2017-03-27 21:17 Dulk 阅读(769) 评论(0) 推荐(0)
摘要:0、写在前面的话在JS世界中,一切都是对象,区别对象类型使用tyepof,返回一个字符串,如:typeof 123; // 'number' typeof NaN; // 'number' typeof 'str'; // 'string' typeof true; // 'boolean' typeof undefined; // 'undefined' typeof Math.abs; //... 阅读全文
posted @ 2017-03-26 18:47 Dulk 阅读(338) 评论(0) 推荐(0)
摘要:generator(生成器)是ES6标准引入的新的数据类型。generator看上去像一个函数,但可以返回多次,除了return语句,还可以用yield返回多次。定义方式如下:function* foo(x) { yield x + 1; yield x + 2; return x + 3; } 5 1function* foo(x) { 2 yield x + 1... 阅读全文
posted @ 2017-03-26 14:41 Dulk 阅读(272) 评论(0) 推荐(0)
摘要:ES6新增的函数:Arrow Function,定义方式就是一个箭头箭头函数相当于匿名函数,并且简化了函数定义,和匿名函数最大的区别在于其内部的this不再“乱跑”,而是由上下文确定定义仅包含一个表达式时,可以省略花括号和return定义包含多条语句时,则不能省略花括号和return参数不止一个时,需要用括号括起来x => x * x //相当于 function (x) { retu... 阅读全文
posted @ 2017-03-26 14:18 Dulk 阅读(288) 评论(0) 推荐(0)
摘要:1、闭包的概念闭包是一种特殊的程序结构,即 函数A中定义了另一个函数a,内部函数a引用了外部函数A的参数和局部变量,最终A会返回一个保存了相关参数和变量的函数a。简洁地说,外层函数将保存了信息的可执行内层函数作为结果返回。来看个例子://求和功能 function lazy_sum(arr) { var sum = function () { return arr.re... 阅读全文
posted @ 2017-03-26 13:54 Dulk 阅读(323) 评论(0) 推荐(0)
摘要:1、方法1.1 方法的定义方法不就是函数?还是有点区别的,在一个对象中绑定函数,称为这个对象的方法。var xiaoming = { name: '小明', birth: 1990, age: function () { var y = new Date().getFullYear(); return y - this.birth; ... 阅读全文
posted @ 2017-03-26 13:07 Dulk 阅读(508) 评论(0) 推荐(0)
摘要:1、定义函数function abs(x) { if (x >= 0) { return x; } else { return -x; } } 7 1function abs(x) { 2 if (x >= 0) {3 return x;4 } else {5 return -x;6 }7}如果... 阅读全文
posted @ 2017-03-23 22:58 Dulk 阅读(2511) 评论(0) 推荐(1)
摘要:1、Map我们知道,在JS中其实对象的方式就跟Java中的Map极为相似,即键值对的方式。JS中,key必须是字符串,实际上Number等值作为key也是合理的,所以为了解决这个问题,在最新的ES6规范中加入了新的数据类型 Map 。var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]); m.get('Michael'); ... 阅读全文
posted @ 2017-03-22 20:11 Dulk 阅读(651) 评论(0) 推荐(0)
摘要:1、if else 条件判断和Java类似,看个例子说明基本语法:var age = 3; if (age >= 18) { alert('adult'); } else if (age >= 6) { alert('teenager'); } else { alert('kid'); } 8 1var age = 3; 2if (age >= 18) {3 ale... 阅读全文
posted @ 2017-03-21 22:40 Dulk 阅读(315) 评论(0) 推荐(0)
摘要:1、数组1.1 基本认识定义数组可以使用关键词 new 来创建数组对象:var mycars=new Array(); var mycars=new Array("Saab","Volvo","BMW"); 2 1var mycars=new Array(); 2var mycars=new Array("Saab","Volvo","BMW");也可以直接赋值的方式(如下),另外,Java中的... 阅读全文
posted @ 2017-03-21 20:55 Dulk 阅读(355) 评论(0) 推荐(0)
摘要:0、写在前面的话之前的前端就没怎么学,工作又要用,你说尴尬不尴尬嘛,JS从头学系列就是这样来的。该系列其实不算正儿八经的博文,因为大部分内容是直接引用自《廖雪峰的JavaScript教程》,然后根据自身情况部分精简和批注后记录在此,更多的目的还是做备忘和查阅使用,并且作为在后期不断丰富JS的知识点时的基本骨架,不断添新和丰满。之前通过廖雪峰老师的网站学过Git,简洁有力的干货,很nice,现在准备... 阅读全文
posted @ 2017-03-20 22:05 Dulk 阅读(282) 评论(0) 推荐(0)