- 浏览: 449062 次
- 性别:
- 来自: 广州
最新评论
-
ubuntu的疯狂:
推荐一份完整的教程:http://blog.ddlisting ...
Emberjs学习 -
ptz19:
请问,如果把合并前的文件,不要dest 目标目录来。如: js ...
gulp下静态资源的合并、压缩、MD5后缀 -
zhouzq1008:
楼主,还有个问题,<a href="" ...
gulp下静态资源的合并、压缩、MD5后缀 -
zhouzq1008:
感谢楼主,用到了您的代码, 但现在好像有改动 否则会报错:修改 ...
gulp下静态资源的合并、压缩、MD5后缀 -
denverj:
感谢分享~
Emberjs学习
文章列表
对于HTML Element对象,存在属性 attributes,包括了对象“所有”属性,通过对其遍历,可以获取我们所需要的信息,以便对DOM节点做进一步的处理,例如将DOM结构保存为XML或者字符串等。
function outputAttributes(element){
var pairs = new Array();
for(var i=0,len = element.attributes.length;i < len;i++){
var name = element.attributes[i].nodeName;
var ...
当页面中 input 的 name 与div的 Id 相同时,使用document.getElementById,获取对象时,IE下将读取input对象,其它浏览器则读取DIV对象。
例如:
<input name="test" value="testVal" />
<div id='test'></div>
//IE下e引用input,其它浏览器则是div
var e = document.getElementById('test');
当对一个数组的每一项进行处理,处理时间比较长的时候,浏览器会因为忙于计算而无法接收用户的请求,如页面点击无反应等,从而出现假死状态。解决方法:
使用定时器分解任务,在任务切换‘空隙’可以允许浏览器对用户操作进行相应。
原始代码:
for (var i=0, len=items.length; i < len; i++){
process(items[i]);
}
改进后:
var todo = items.concat(); //create a clone of the original
setTimeout(function(){
//get next ...
常见写法:
// original loops
for (var i=0; i < items.length; i++){
process(items[i]);
}
var j=0;
while (j < items.length){
process(items[j++]]);
}
var k=0;
do {
process(items[k++]);
} while (k < items.length);
小改进:
//minimizing property lookups and reversing
for (va ...
/**
* 定义图片按钮
*
* @param {}
* cfg
*/
Ext.ux.ImageButton = function(cfg) {
Ext.ux.ImageButton.superclass.constructor.call(this, cfg);
};
Ext.extend(Ext.ux.ImageButton, Ext.Button, {
url : this.url || "",
// disabled : false,
imgWidth : 20,
i ...
<html>
<head>
<title>wow</title>
<script type="text/javascript">
function replaceURL(){
//历史记录不被保存,将无法实现‘后退’
location.replace('http://www.baidu.com');
}
</script>
</head>
<body>
<a href="http://www.baidu.com">b ...
Javascript 不存在块层次的作用域。
if (true) {
var color = “blue”;
}
for (var i=0; i < 10; i++){
doSomething(i);
}
alert(i); //10
alert(color); //”blue”
parseInt 的问题
parseInt('08') //返回0 而不是 8
/*因为 parseInt会把 字符串 '08'解析为 八进制 值,由于这时'8'并不是合法的字符,因此只返回前面的字符'0',并转换为数字0。因此,在使用parseInt的时候,通常 ...
typeof 用于区分原始类型 和 对象类型。
var s = “Nicholas”;
var b = true;
var i = 22;
var u;
var n = null;
var o = new Object();
alert(typeof s); //string
alert(typeof i); //number
alert(typeof b); //boolean
alert(typeof u); //undefined
alert(typeof n); //object
alert(typeof o); //object
instanceof ...
进制转换
- 博客分类:
- JavaScript
数字的定义:
默认是十进制;
十六进制:0x 开头;
八进制 :0开头;
没有二进制定义数字
十进制数字进制之间的转换:
var num = 16;
num.toString();//16
num.toString(2);// 10000
num.toString(8);//20
num.toString(10);//16
num.toString(16);//10
parseInt :将第一个的字符串(将被转化为数字),用第二个参数(进制)进行解析,返回十进制数。
一般的转换; parseInt(num, [2|8|10|16]).
例如:
parseInt(9,2) ...
如果 两个操作数中有一个是字符串,那么将会视为 字符串拼接:
例如:
2+ ‘3’ = ‘23’
如果是遇到 Boolean(true/false),true将自动转换为数字1,false转换为0,前提是第一个加数是数字:
例如:
2 + true + ‘3’ = ‘33’
2 + ‘3’ + true = ‘23true’
条件判断
- 博客分类:
- JavaScript
if(a){
//非空字符串,数字(非0),对象(包括 new Boolean(false))
alert(true);
}
else{
//空字符串,数字0,undefined,null,NaN
alert(false);
}
字符串、数字、日期间的转换
- 博客分类:
- JavaScript
字符串转数字:Number(num)
1. str 是空字符串,结果为0;
2. str 不等于 空字符串,结果为 NaN;
3. str = true,结果为1
4. str = false,结果为 0
5. 数字组成的字符串,结果为对应的 数字。
6. 其它为 NaN
时间转字符串:
New Date().toLocaleDateString() //2010年3月12日
New Date().toLocaleTimeString() // 17:03:50
如果time是millionseconds数字,可以使用
Var dt = New Date(time);
再执行转换。
字 ...
NaN小结
- 博客分类:
- JavaScript
The value NaN has a couple of unique properties. First, any operation involving NaN always returns NaN
(for instance, NaN /10), which can be problematic in the case of multistep computations. Second, NaN is
not equal to any value, including NaN . For example, the following returns false :
alert(NaN = ...
var url = '/status_tracker.php';
var params = ['step=2', 'time=1248027314'];
var beacon = new Image();
beacon.src = url + '?' + params.join('&');
beacon.onload = function() {
if (this.width == 1) {
// Success.
} else if (this.width == 2) {
// Failure; create another beacon and try ...
一般写法:
for (var i = 0, len = rows.length; i < len; i++) {
if (i % 2) {
className = "even";
} else {
className = "odd";
}
// apply class
}
小改进后的写法:
for (var i = 0, len = rows.length; i < len; i++) {
if (i & 1) {
className = "odd";
} el ...