当函数以 apply 方式调用时, 传参方式是一个由各个参数组成的数组或类数组(一个有length属性的对象),传入参数个数取决于 length 的值,例如,某个对象 args.length=3; apply 会将 args[0],args[1],args[2] 三个参数传入,如果对应的值不存在则传入了undefined.
例如:
function f(a,b,c){ console.log(a,b,c);}
f.apply(null,{0:123,1:456,2:789,length:2});//123 456 undefined ,因为 length 属性值为2,值只传入了 2 个参数
f.apply(null,{10:123,11:456,12:789,length:3});// undefined undefined undefined , 因为参数对象不存在以 0、1、2 为...
有些效果出不来,比如变量类型是object类型的不能完全打印!
function print_r(array, return_val) {
var output = '', pad_char = ' ', pad_val = 4, d = this.window.document,
getFuncName = function (fn) {
var name = (/\W*function\s+([\w\$]+)\s*\(/).exec(fn);
if (!name) {
return '(Anonymous)';
}
return name[1];
},
repeat_char = function (len, pad_char) {
var str = '';
for (var i = 0; i < len; i++)...
将以下代码保存为:a.js
function querystring(){
this.params = new Object();
this.initialize = function(){
var param=this.paramstring();
if(param.length == 0) return;
if(param.substring(0,1)=='?'){
param=param.substring(1);
}
param = param.replace(/\+/g, ' ');
var args = param.split('&');
for (var i=0;i<a...
/**
Powered By CMSDream Copyright © 2007-2008 All rights reserved.
14:21 2008-5-10
**/
function CMSDreamAjaxLib(){
/**//**
成员变量
*/
this.XMLHttpReq = null; //XML对象
this.method = "post"; //执行的方法(post/get)
this.url = ""; //异步调用的页面地址
this.responseText = ""; //异步返回的响应字符串
this.responseXML = ""; //异步返回的响应XM...
如题,目前只对IE,FireFox,Opera这三种浏览器的兼容性进行过测试,其它浏览器还未测试。
有兴趣的朋友可以研究一下,应该也没问题的。
function AttachStyle(styDom, styCss, styId){
var istyle = styDom.createElement('style');
istyle.setAttribute("type", "text/css");
if(styId!=null){if(!document.getElementById(styId)){istyle.setAttribute("id", styId);}}
if (istyle.styleSheet){
istyle.styleSheet.cssText=styC...
/**
Powered By CMSDream Copyright © 2007-2008 All rights reserved.
15:10 2008-6-7
**/
function querystring(paramstring){
this.url=window.location.href;
this.params = new Object();
this.initialize = function(){
if(paramstring.length == 0) return;
if(paramstring.substring(0,1)=='?'){
paramstring=paramstring.substring(1);
}
paramstring = p...
function strLen(str){
var len=0;
for(var i=0;i<str.length;i++){
var intCode=str.charCodeAt(i);
if(intCode>=0 && intCode<=128){
len = len + 1;
}else{
len = len + 2;
}
}
return len;
}
Private Function Length(iTxt)
Dim txt: txt = Trim(iTxt)
Dim x: x = Len(txt)
...