随笔分类 - javascript
摘要:/** * * 栈:是一种可以限制插入和删除项的数据结构。其遵循LIFO(last-in-first-out)后入先出的规则,也就是最新推入的被最早的弹出,而这些操作只发生在一个位置,栈的顶部。 * 模拟栈的实现需要使用:push()和pop()方法。 * push():可以接受任意个参数,把它们逐个推入到数组的末尾,返回新的数组的额长度 * pop(): 不需要参数,直接弹出数组末尾的项,并将值返回 */
var colors = ['red','yellow','blue'];
var push = colors.push('aaa&
阅读全文
摘要:/** * javascript 中的reduce方法 和 reduceRight方法 * 这两个方法是ECMAScript5中新增的方法 * 都接受两个参数:第一个是用来迭代的数组的函数,这个函数有四个参数分别是,前一个值,当前值,项的索引,数组对象。然而这个函数的任何值都会作为第一个参数自动传给下一项。第二个是作为第一个函数中第一个参数的初始值 * * reduceRight 和 reduce一样,只是他是从右向左进行迭代的 * 支持的浏览器有,IE9+,Firefox3+,Safari4+,Opera 10.5+,chrome */
var nums = [1,2,3,...
阅读全文
摘要:/* javascript 数组对象中的迭代方法 * ECMAScript5为数组定义了5个迭代方法。每个方法都接受两个参数,第一个是进行迭代的函数,第二个是该函数的作用域对象【可选】。 * 进行迭代的函数接受三个参数,第一个是数组中要进行迭代的元素的值,第二个是数组候总要进行迭代的元素的位置,第三个是迭代数组本身。 * 1. every() 对数组中的每一项运行给定的函数,如果该函数对每一项都返回true,则返回true * 2. filter() 对数组中的每一项运行给定的函数,返回该函数返回true的项组成的数组。 * 3. forEach() 对数组中的每一项运行给定的函数...
阅读全文
摘要:一、变量变量可以用来保存两种类型的值: 基本类型值和引用类型的值1.基本类型值具有以下特点基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中。一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本。2. 引用类型的值具有以下特点引用类型的值是对象,保存在堆内存中。包含引用类型值得变量实际上包含的并不是引用类型本身,而是一个指向该对象的指针。从一个变量向另一个变量复制引用类型的值,复制的其实是指针,因此两个变量最终都指向同一个对象。3. 确定一个值的类型确定一个值是哪些基本类型可以使用 typeof操作符。确定一个值是哪些引用类型可以使用instanceof 操作符。var a =
阅读全文
摘要:使用label语句可以在javascript中添加标签以便将来使用。label的语法:label:statementlabel 可以break或者continue联合使用//label: statement
var temp=0;
start:
for(var i=0; i<5; i++) { for(var m=0; m<5; m++) { if(m==1) { break start; } temp++; }
}
alert(temp);弹出的结果是1 如果不加直接break而不是 break start 的话弹出的将是5;
阅读全文
摘要:break 跳出循环体 强制执行循环体以外的代码continue 跳出当前循环 继续执行下一次循环for(var i=0; i<5; i++) { alert(i); if(i==3) { alert('break'); break; } if(i==2) { alert('continue'); continue; } alert('继续');
}执行这段代码你会看到首先弹出0 继续 然后1 继续 然后 2 continue 这时将跳出本次循环 即不弹出继续 然后执行下一次循环 到break时整个循环就终止了。
阅读全文
摘要:在javascript中有5中基本数据类型分别是:Undefined、Null、Boolean、Number、String。和一个复杂数据类型:Object。一、Undefined1. Undefined类型只有一个值undefined。当用var声明一个值并未对其进行初始化的时候,这个变量的值就是undefined。var boss;
alert(typeof boss); 2. 包含undefined值得变量与尚未定义的变量是不一样的。var boss;
alert(boss); // undefined
alert(message); // 报错 Uncaught ReferenceEr
阅读全文
摘要:最近要做个一个手机端的拖动效果,在网上找到一个例子,最后自己改造了一下。实现了,兼容ios android 和电脑端的 拖动效果。 小记一下主要知识点 1:与mousedown、mousemove、mouseup对应的触摸事件分别是touchstart、touchmove、touchend。 2:js 的 apply方法apply() 方法有两个参数,用作 this 的对象和要传递给函数的参数的数组。例如:function sayColor(sPrefix,sSuffix) { alert(sPrefix + this.color + sSuffix);
}; var ob...
阅读全文
摘要:1、<javascript> 标签的defer 属性:延迟脚本执行使用defer='defer' 属性可以让脚本在文档完全呈现完之后再执行,延迟脚本总是按照指定他们的顺序执行的。2、<javascript> 标签的async属性: 表示当前的脚本不必等待其他脚本,也不必阻塞文档的呈现。但是不能保证异步脚本按照他们在页面中执行的顺序执行。<!DOCTYPE html>
<html> <head> <title>Test</title> <script type="text/java
阅读全文
摘要:两种方式,但稍有区别1,in 运算符?123varobj = {name:'jack'};alert('name'inobj);// --> truealert('toString'inobj);// --> true可看到无论是name,还是原形链上的toString,都能检测到返回true。2,hasOwnProperty 方法?123varobj = {name:'jack'};obj.hasOwnProperty('name');// --> trueobj.hasOwnProperty(
阅读全文
摘要:<div id='bbb' style="display:none">asdf</div>
<script>
function a()
{
try
{
var aaa = document.getElementById('bbb');
alert(aaa.innerText);
}
catch (e)
{
alert('错误' + e.message + '发生在' + e.lineNumber + '行');
}
}
a();
</script>
阅读全文
摘要:最近在看javascript DOM 编程艺术这本书 在书上看到这个例子,觉得摘抄下来首先html 代码<!DOCTYPE html>
<html lang="en"> <head> <meta charset="utf-8"> <title>Grayscale Canvas Example</title> <script src="./modernizr.js"></script> </head> <body> &
阅读全文
摘要:1. 取整同时转成数值型: '10.567890'|0
//结果: 10
'10.567890'^0
//结果: 10
-2.23456789|0
//结果: -2
~~-2.23456789
//结果: -2
2. 日期转数值: var d = +new Date(); //1295698416792
3. 类数组对象转数组: var arr = [].slice.call(arguments)
4. 漂亮的随机码: Math.random().toString(16).substring(2); //14位
Math.random().toString(36
阅读全文
摘要:这通常意味着,你试图把一个DOM节点插入到一个它不能到达的地方,最普遍的例子如下:document.appendChild(document.createElement('div'));一般只需改正为:document.body.appendChild(document.createElement('div'));通知核心 DOM 对象的异常或通知。常量下面的常量定义了 DOMException 对象的code属性的合法值。注释:这些常量是 DOMException 的静态属性,不是个别异常对象的属性。INDEX_SIZE_ERR说明数组或字符串下标的溢出错误。
阅读全文
摘要:shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefinedvar a = [1,2,3,4,5];var b = a.shift(); //a:[2,3,4,5] b:1unshift:将参数添加到原数组开头,并返回数组的长度var a = [1,2,3,4,5];var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7注:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。pop:删除原数组最后一项,并返回删除元素的值;
阅读全文