惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
博客园 - 叶小钗
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
爱范儿
爱范儿
小众软件
小众软件
K
Kaspersky official blog
P
Proofpoint News Feed
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
V
Vulnerabilities – Threatpost
博客园_首页
Microsoft Security Blog
Microsoft Security Blog
C
Cybersecurity and Infrastructure Security Agency CISA
V
V2EX
C
Check Point Blog
S
Schneier on Security
P
Palo Alto Networks Blog
IT之家
IT之家
GbyAI
GbyAI
T
Threat Research - Cisco Blogs
Hugging Face - Blog
Hugging Face - Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Apple Machine Learning Research
Apple Machine Learning Research
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tailwind CSS Blog
Project Zero
Project Zero
Y
Y Combinator Blog
V
Visual Studio Blog
Simon Willison's Weblog
Simon Willison's Weblog
T
Threatpost
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
S
Securelist
C
CERT Recently Published Vulnerability Notes
A
Arctic Wolf
M
MIT News - Artificial intelligence
人人都是产品经理
人人都是产品经理

博客园 - Young.Jiang

Iframe的高级操作 Javascript模拟c#方法重载 设计模式学习:适配器模式 Linq学习笔记(2.3)——DLinq高级操作 Linq学习笔记(2.2)——深入DLinq查询 Linq学习笔记(2.1)——初识 DLinq Linq学习笔记(1.8)——Count、Sum、Min、Max、Average Linq学习笔记(1.7)——First、ElementAt、Any、all Linq学习笔记(1.6)——ToArray、ToList、ToDictionary、OfType Linq学习笔记(1.5)——group、Distinct、Union、Concat、Intersect、Except Linq学习笔记(1.4)——orderby、Reverse() Linq学习笔记(1.3)——Take、Skip Linq学习笔记(1.2)——select Linq学习笔记(1.1)——where 理解JavaScript中的对象 Asp.net Ajax 客户端编程(二)——Type 类,面向对象编程的开始 提高.NET性能的最佳实践 EnterpriseLibrary 3.0的缓存应用程序块 EnterpriseLibrary 3.0的验证应用程序块
Asp.net Ajax 客户端编程(一)——对JS基本类型的扩展
Young.Jiang · 2007-05-09 · via 博客园 - Young.Jiang

一:Array类型扩展
1:Array.add(array, item):在数组的末尾增加一个元素,静态方法,不需要建立实例即可调用:

//Demo :http://young18.cnblogs.com
var Arr=["Asp.net","Csharp","Ajax"];
Array.add(Arr, 
"Javascript");
alert(Str.toString());   
//返回:Asp.net,Csharp,Ajax,Javascript

2:Array.addRange(arrayA, arrayB):将数组arrayB中的元素全部添加到数组arrayA后,静态方法.

//Demo :http://young18.cnblogs.com/
var ArrA=["Asp.net","Csharp"];
var ArrB=["Ajax","Javascript"];
Array.addRange(ArrA, ArrB);
alert(ArrA.toString());    
//返回:Asp.net,Csharp,Ajax,Javascript

3:Array.clear(array):清除数组中的所有元素,静态方法.

//Demo:http://young18.cnblogs.com/
var Arr=["Asp.net","Csharp"];
Array.clear(Arr);
alert(Arr.toString());   
//返回:""

4:Array.clone(array): 对数组array进行浅拷贝,静态方法。

//Demo:http://young18.cnblogs.com/
var ArrA=["Asp.net","Csharp"];
var ArrB=Array.clone(ArrA);
alert(ArrB.toString());   
//返回:Asp.net,Csharp

5:Array.contains(array, item): 判断数组中是否包含元素,返回true或false,静态方法。

//Demo:http://young18.cnblogs.com/
var ArrA=["Asp.net","Csharp"];
var A=Array.contains(ArrA,"Csharp");
var B=Array.contains(ArrA,"Ajax");
alert(
"A =" + A.toString());  //返回:A = true
alert("B ="+ B.toString());   //返回:B = false

6:队列
      Array.enqueue(array, item):在数组末尾添加一个元素,静态方法。
      Array.dequeue(array); 移除数组的第一个元素,静态方法。

//Demo:http://young18.cnblogs.com/
var Arr=["Asp.net","Csharp"];
Array.enqueue(Arr,
"Ajax");
alert(
"enqueue后:" + Arr.toString());  //返回: enqueue后: Asp.net,Csharp,Ajax
Array.dequeue(Arr);
alert(
"dequeue后:" + Arr.toString());  //返回: dequeue后: Csharp,Ajax

7:Array.forEach(array, method, context):对数组中的每一个元素执行指定方法,context为执行方法是被传入的内容,在函数中用this来获取,静态方法。

//Demo:http://young18.cnblogs.com/
var Arr=["Asp.net","Csharp","Ajax"];
Array.forEach(Arr, AlertForArr, 'Young is studying ');

function AlertForArr(element, index, array) 
{
      alert(
"Arr:" + array.toString() + "\n" + index + "" + this +      element); 
      
//这里的this表示context的内容
}

8:Array.indexOf(array, item, start):在数组中查找指定元素,返回索引值,如果没找到,返回 -1,start指定从数组中那个位置开始查找。静态方法。

//Demo:http://young18.cnblogs.com/
var Arr=["Asp.net","Ajax","Csharp","Javascript"];
alert(Array.indexOf(Arr, 
"Ajax"));      //返回: 1
alert(Array.indexOf(Arr, "Ajax",2));    //返回: -1

9:Array.insert(array, index, item):在数组中指定位置插入元素,静态方法。

//Demo:http://young18.cnblogs.com/
var Arr=["Asp.net","Csharp","Javascript"];
Array.insert(Arr, 
2"Ajax");
alert(Arr.toString());         
//返回: Asp.net,Csharp,Ajax,Javascript

10:Array.parse(value):将字符串转化为数组,该字符串的格式有一定的限制,静态方法。

//Demo:http://young18.cnblogs.com/
var a = Array.parse("['Asp.net','Csharp','Javascript']");
alert(a.toString());  
//返回: Asp.net,Csharp,Javascript

11:Array.remove(array, item):从数组中移除指定元素,静态方法。
        Array.removeAt(array, index):从数组中移除指定元素,静态方法。

//Demo:http://young18.cnblogs.com/
var Arr=["Asp.net","Csharp","Ajax","Javascript"];
Array.remove(Arr,
"Ajax"); 
alert(Arr.toString());  
//返回: Asp.net,Csharp,Javascript
Array.removeAt(Arr,1);
alert(Arr.toString());  
//返回: Asp.net,Javascript

二:Boolean类型扩展
        Boolean.parse("true"); 将字符串转化为Bool类型。

//Demo:http://young18.cnblogs.com/
var b = Boolean.parse("true");
if (b == true){
    alert(
"b = true"); 
}
else{
    alert(
"b = false");
}

三:Data类型扩展
1:dateVar.format(format): 日期类型格式化为字符串
2:dateVar.localeFormat(format);

  var dateVar=new Date();
alert(dateVar.format(
"yyyy年M月d日")); //返回:2007年5月8日
alert(dateVar.localeformat("yyyy年M月d日")); //返回:2007年5月8日

3:Date.parseLocale(value, formats):将字符串转化为日期格式
4:Date.parseInvariant(value, formats):

//Demo:http://young18.cnblogs.com/      
var dateVar=Date.parseLocale("2007年5月8日""yyyy年M月d日");
alert(dateVar.toString()) 
//返回:Tue May 8 00:00:00 UTC+0800 2007

四:Error类型扩展
1:Error.argumentOutOfRange(paramName, actualValue, message) 创建一个范围异常,当参数超过指定范围时触发异常。
2:Error.argumentType(paramName, actualType, expectedType, message);  参数类型错误异常。
3:Error.invalidOperation(message);  参数操作错误异常
4:Error.parameterCount(message);  参数个数错误异常
5:errorInstanceVar.popStackFrame();  创建实例错误时发生异常,与上面不同的是,异常在函数外抛出。

//Demo:http://young18.cnblogs.com/
        var Student=function(name,age,sex){        
                    
if (arguments.length !== arguments.callee.length){//参数个数出现错误                    
                        var e = Error.create("参数个数错误");
                        e.popStackFrame();  
//在函数外抛出
                        return e;
                    }
else{
                        
if(name==undefined){
                            
var err = Error.argumentNull("name""姓名不能为空.");
                            
throw err;
                        }
else{                
                            
this.name = name;                    
                        }
                    
                        
if(isNaN(age)){
                            
var err = Error.create("年龄必须为数字");
                            
throw err;
                        }
else{
                            
this.age  = age;
                        }

                        
                        
if(sex!=""&&sex!=""){
                            
var err = Error.argument("sex""性别请填写‘男’或‘女’.");
                            
throw err;
                        }
else{
                            
this.sex  = sex;
                        }

                    }

                }

          
         
var err=new Student(sname,25,"","ajax");
         
if (err)
         
{
              alert(err.message);
         }

         
         
try
         
{
            
var sname;
            
var student=new Student(sname,25,"");
            
//var student=new Student("young","ajax","男");
            //var student=new Student("young",25,"male");
            alert(student.name + ":" + student.age)
         }
 
         
catch(e)
         
{
            alert(e.message)
         }

五: 实例类型扩展
1:Object.getType(instance)  获取对象实例类型
2:Object.getTypeName(instance); 获取对象实例类型名

var a = new Number(2);
alert(Object.getType(a))
alertObject.getTypeName(a))

六:字符串类型扩展
1:myString.endsWith(suffix)  是否以指定字符串结尾,返回true或false
2:myString.startsWith(prefix); 是否以指定字符串开始,返回true或false
3:myString.trim();
4:myString.trimEnd();
5:myString.trimStart();  移除开头或结尾的空格