JavaScript
Carl_Hugo
Knowledge is Power
展开
-
BOM
javascript组成部分: EMCAScript(基本语法) BOM( Browser Object MOdel) 浏览器对象模型. 浏览器对象模型中把浏览器 的各个部分都是用了一个对象进行描述,如果我们要 操作浏览器的一些属性,我就可以通过浏览器对象模型 的对象进行操作。window 代表了一个新开的窗口location 代表了地址栏对象。screen 代表了整原创 2016-06-09 11:22:52 · 294 阅读 · 0 评论 -
作用域(JS)
作用域全局作用域 不在任何函数内定义的变量就具有全局作用域。实际上,JavaScript默认有一个全局对象window,全局作用域的变量实际上被绑定到window的一个属性:'use strict';var course = 'Learn JavaScript';alert(course); // 'Learn JavaScript'alert(window.course); // 'L原创 2017-02-28 11:04:44 · 252 阅读 · 0 评论 -
函数(JS)
函数定义方法一 function abs(x) { if (x >= 0) { return x; } else { return -x; } }function指出这是一个函数定义;abs是函数的名称;(x)括号内列出函数的参数,多个参数以,分隔;{ … }之间的代码是函数体,可以原创 2017-02-28 11:14:59 · 203 阅读 · 0 评论 -
filter函数(JS)
filter函数 filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素。 和map()类似,Array的filter()也接收一个函数。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。例如,在一个Array中,删掉偶数,只保留奇数,可以这么写:var arr = [1,原创 2017-02-28 11:17:11 · 24808 阅读 · 0 评论 -
常见DOM操作(JS)
DOM获取节点设置样式// 获取<p id="p-id">...</p>var p = document.getElementById('p-id');// 设置CSS:p.style.color = '#ff0000';p.style.fontSize = '20px';p.style.paddingTop = '2em'动态创建一个节点var list = document.g原创 2017-03-01 14:12:33 · 1214 阅读 · 0 评论 -
Promise
在JavaScript的世界中,所有代码都是单线程执行的。由于这个“缺陷”,导致JavaScript的所有网络操作,浏览器事件,都必须是异步执行。异步执行可以用回调函数实现:function callback() { console.log('Done');}console.log('before setTimeout()');setTimeout(callback, 1000); /原创 2017-01-29 15:36:00 · 396 阅读 · 0 评论 -
AJAX与跨域请求CORS(JS)
AJAX最早大规模使用AJAX的就是Gmail,Gmail的页面在首次加载后,剩下的所有数据都依赖于AJAX来更新。 用JavaScript写一个完整的AJAX代码并不复杂,但是需要注意:AJAX请求是异步执行的,也就是说,要通过回调函数获得响应。function success(text) { var textarea = document.getElementById('test-re原创 2017-03-01 16:07:20 · 1208 阅读 · 0 评论 -
JavaScript(Map/Reduce)
Map/ReduceMap 举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个数组[1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map实现如下: 由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果:function pow(x) { return原创 2017-01-24 16:55:19 · 1461 阅读 · 0 评论 -
闭包
闭包 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。我们来实现一个对Array的求和。通常情况下,求和的函数是这样定义的:function sum(arr) { return arr.reduce(function (x, y) { return x + y; });}sum([1, 2, 3, 4, 5]); // 1原创 2017-01-24 21:51:46 · 271 阅读 · 0 评论 -
原型继承
[原型继承]原型继承在传统的基于Class的语言如Java、C++中,继承的本质是扩展一个已有的Class,并生成新的Subclass。由于这类语言严格区分类和实例,继承实际上是类型的扩展。但是,JavaScript由于采用原型继承,我们无法直接扩展一个Class,因为根本不存在Class这种类型。但是办法还是有的。我们先回顾Student构造函数:function Student(props) {原创 2017-01-25 18:19:30 · 411 阅读 · 1 评论 -
AJAX实现(JS)
主要内容 1)回顾JS中核心内容 2)了解WEB1.0和WEB2.0时代的技术与特点 3)理解AJAX的产生背景、工作原理与特点 4)掌握AJAX常用API及应用什么是JavaScript【以下简称JS】? JS是 (1)基于对象 JS本身就有一些现成的对象可供程序员使用,例如:Array,Math,String。。。 JS并不排除你可以自已按一原创 2016-08-12 17:45:31 · 486 阅读 · 0 评论 -
数组(JS)
数组将array当作栈操作,push和pop,栈操作 push()向Array的末尾添加若干元素,pop()则把Array的最后一个元素删除掉:var arr = [1, 2];arr.push('A', 'B'); // 返回Array新的长度: 4arr; // [1, 2, 'A', 'B']arr.pop(); // pop()返回'B'arr; // [1, 2, 'A']原创 2017-02-28 10:42:43 · 268 阅读 · 0 评论 -
JSONP(手写一个跨域组件)
在客户端调用提供JSONP支持的URL Service,获取JSONP格式数据。比如客户想访问http://www.yiwuku.com/myService.aspx?jsonp=callbackFunction假设客户期望返回JSON数据:["customername1","customername2"]那么真正返回到客户端的Script Tags: callbackFunction([“c原创 2016-09-23 08:44:35 · 2797 阅读 · 2 评论 -
JavaScript自执行函数
格式:(function(){//代码})();解释:包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。 来个带参数的例子:(function(arg){alert(arg+100);})(20);// 这个例子返回120。原创 2016-09-19 18:56:00 · 316 阅读 · 0 评论 -
箭头函数
箭头函数ES6标准新增了一种新的函数:Arrow Function(箭头函数)。 为什么叫Arrow Function?因为它的定义用的就是一个箭头:x => x * x上面的箭头函数相当于:function (x) { return x * x;}箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ … }和return都省略掉了。还有原创 2017-02-28 09:43:18 · 436 阅读 · 0 评论 -
生成器
generator(生成器) generator(生成器)是ES6标准引入的新的数据类型。一个generator看上去像一个函数,但可以返回多次。我们以一个著名的斐波那契数列为例,它由0,1开头:0 1 1 2 3 5 8 13 21 34 ...要编写一个产生斐波那契数列的函数,可以这么写:function fib(max) { var t, a =原创 2017-02-28 09:46:50 · 437 阅读 · 0 评论 -
正则表达式
RegExp 进阶要做更精确地匹配,可以用[]表示范围,比如:[0-9a-zA-Z\_]可以匹配一个数字、字母或者下划线;[0-9a-zA-Z\_]+可以匹配至少由一个数字、字母或者下划线组成的字符串,比如’a100’,’0_Z’,’js2015’等等;[a-zA-Z\_\$][0-9a-zA-Z\_\$]*可以匹配由字母或下划线、开头,后接任意个由一个数字、字母或者下划线、开头,后接任意个由原创 2017-02-28 09:58:55 · 711 阅读 · 0 评论 -
JavaScript的序列化和反序列化
parse用于从一个字符串中解析出json对象,如var str = '{"name":"huangxiaojian","age":"23"}'JSON.parse(str)结果:Objectage: "23"name: "huangxiaojian"__proto__: Object注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。stringify()用于从一个对象解析出字原创 2016-09-19 20:22:08 · 483 阅读 · 0 评论 -
原型继承和Class继承
面向对象编程JavaScript不区分类和实例的概念,而是通过原型(prototype)来实现面向对象编程。原型是指当我们想要创建xiaoming这个具体的学生时,我们并没有一个Student类型可用。那怎么办?恰好有这么一个现成的对象:var robot = { name: 'Robot', height: 1.6, run: function () { c原创 2017-02-28 10:16:59 · 1698 阅读 · 0 评论 -
JavaScript编程细节
JavaScript内容 尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的: 目前我们学习JavaScript也就是需要学习: JavaScript语法基础 使用JS操作网页(DOM) 使用JS操作浏览器(BOM)注: javascript运行原创 2016-06-08 23:41:29 · 447 阅读 · 0 评论 -
对象(JS)
对象 JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。 var xiaoming = { name: '小明', birth: 1990, school: 'No.1 Middle School', height: 1.70, weight: 65, score: null }; 如果访问一个不存在的属性原创 2017-02-28 10:48:22 · 242 阅读 · 0 评论 -
Canvas
Canvas是HTML5新增的组件,它就像一块幕布,可以用JavaScript在上面绘制各种图表、动画等。没有Canvas的年代,绘图只能借助Flash插件实现,页面不得不用JavaScript和Flash进行交互。有了Canvas,我们就再也不需要Flash了,直接使用JavaScript完成绘制。一个Canvas定义了一个指定尺寸的矩形框,在这个范围内我们可以随意绘制:<canvas id="原创 2017-01-29 16:07:03 · 225 阅读 · 0 评论