----------------------Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
05.03
在JS中值为0 null undefined 都会返回false
排错:
用debugbar 用脚本提示
function定义方法 不需要声音明返回值
加参数的话也不用var
function add(n1,n2)
{
//判断两个参数是否有值
if(ni && n2)
{
return n1+n2;
}else{
return "参数不全"
}
}
调用:
var n=add(5);
alert(n);
当函数没有写return的时候 函数会返回undefined
函数命名的时候应该避免和系统函数重名。否则会覆盖掉
匿名函数:
就是不给函数取名。
var f=function(){ alert("1234")}
//把一个函数目赋给了一个变量
相当于C#里中的委托。
文档流: position
position:static 默认的文档流
position:absolute 脱离文档流
JS面向对象
javascript中没有类的语法,是函数闭包模拟出来的。。。js中声明的类(类不是一个类,而是一个对象)
function person(name,sex)
{
this.name=name; this.sex=sex;
this.sayhi=function()
{
alert("name:"+name+"--"+"sex"+sex);
}
//this指当前对象
}
//JS中是区方大小写的:
var zs=new person("张三","男");
zs.sayhi();
string 对象
substr(开始的位置,结束的位置)
substring();第一个参数开始的位置是从0开始
第二个参数是是结束的位置是从1开始
split分割 跟C#一样的
split(按什么分割);
match resplace search
var year-="2012年";
regexp();是一个对象
alert(year.matchxt(/\d{4}/));
g:是全局匹配
i:是忽略大小写
gi:以上组合
var china="我爱北京天安门 北京天安门爱我";
alert(china.resplce(/北京天安门/g,"赣州")
search:找出第一个字符出现的位置
如果找不到会返回-1
数组:Array对象
var arr=new array();
不需要声明它的长度。
它相当于C#里面的arraylist大杂刽一样
什么都可以话
arr[0]="张三"
arr[1]="张三"
arr[2]="张三"
一个一个赋值
还要用简单的写法。例如
var arr=[里面的元素];
然后再用for循环遍历出来
求最大值:
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
function getMax(array)
{
var max=array[0];
for(var i=1;i<array.length;i++)
{
if(max<array[i])
{
max=array[i]
}
}
return max;
}
var array=new array();
arr[0]=1;
arr[1]=2;
arr[2]=3;
alert(getmax(array));
数组引用类型传递
引用传递传的是地址。
值传递传的是整数 例如:
function change(a,b){
var temp=a;
a=b;
b=temp;
}
var a=5; var b=6;
change(a,b);
alert(a); alert(b);
它们的值不会变。。因为输出的还是a,b
跟方法里面的a,b没有关系
也就是说。如果它们的值发生了变化,
说明是引用传递。
如果没有改变的话说明就说值传递
以上的例子显然就是值传递。。
动态语言非常灵活
JS中Array是一个仅是一个数组。还是一个dictionary,还是一个stack
var dic=new Array();
dic["zs"]="张三";
dic["ls"]="李四";
dic["ww"]="王五";
//另一种赋值方式 dic.ww="王五";
for(var key in dic) //遍历字典
{
alert(key+"=="+dic[key]);
//相当于字典了。
}
还可以这样赋值,字典的方式
var dic={"zs":"张三","ls":"李四","ww":"王五"}
后面再循环是一样的
JS中这数组就是个特殊的字典
instanceof 判断对象是不是同一类型
alert(arr instanceod array)
返回的值是bool值
alert(typeof(arr))
返回它的类型
json对象
json数据格式和xml数据格式是在做b/s开发常用的两种数据格式。
{"zs":"张三","ls":"李四","ww":"王五"} 这种数据据式就是json
json前台和后台交互的时候经常用的格式
JS中class是个保留的关键字
var json={
"class":"一班",
"student":[{"name":"zs","age":"18","sex":"男" },{"name":"Ls","age":"18",}
]
};
alert(json.clas);
alert(json.students[2].name);
读出第二项的名字
想读所有student下的所有学生信息:
for(var i=0;i<json.student.length;i++)
{
alert(json.student[i].name+"=="+json.student[i].age);
}
学jquery的时候经常会见过的。
扩展方法:
String.prototype.test=function(str){
//判断STR是否赋值
if(!str){
str=" http://www.baidu.com"
}
returnthis this+str;
}
>---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 详细请查看:http://net.itheima.com/