数值处理
var num = parseInt("21121.12");
alert(num);
var num1 =new Number("12123.125");
alert(num1.toFixed(2));
var a = "123";
if (isNaN(a)) {
alert("不是数字");
}
else {
alert("是数字");
}
对像的参数
function add(num1) {
//alert(arguments.length);
var n=arguments[0];
for (var i = 1; i < arguments.length; i++) {
n += arguments[i] + "|";
}
alert(n);
}
add(1, 2, 3, 4);
匿名函数
var f1 = function (n1, n2) { return n1 + n2; };
alert(f1(2, 3));
(function (n1, n2) {
var n3= n1 + n2;
alert(n3);
})(1,2);
var f2 = new Function("p1", "return p1+5;");
alert(f2(5));
定义一个函数(对像)
function Person(name, age) {
this.name = name;
this.age = age;
this.sayHi = function () {
return this.age + "-" + this.name;
}
}
var p = new Person("张三",14);
var pp = p.sayHi();
alert(pp);
数组
var arr = new Array();
var arr = ["asdf", "234234", "fsda"];
arr.reverse()
处理数组的函数
arr.join("@") 连接起来
arr.toString() 默认输出,
两种for 用法
for(var i=0;i<arr.length;i++)
{
arr[i]
}
for(var i in arr)
{
arr[i] 这里的i相当于字典键
}
数组的另一种用法
var dic = new Array();
dic["zs"] = "张三";
dic["ls"] = "李四";
dic["x"] = "夏";
这里就可以用forin
不过后面我们都用 json
var jsar={name:"xt",age:18,arrer:"bj"};
判断一种对像是否是另一种类型
jsar instanceof(Array)
json 应用
var json = {
"黑马一期": [{ "name": "张三", "age": 18, "sex": "男" }, { "name": "李四", "age": 19, "sex": "女"}],
"黑马二期": [{ "name": "张军", "age": 28, "sex": "男" }, { "name": "张四", "age": 29, "sex": "女"}]
};
var arr = json["黑马二期"]; //arr是一个数组
for (var i = 0; i < arr.length; i++) {
var o = arr[i];
alert(o.name + ":" + o.age);
}
String 对像
var str = "asdADGSE我~爱.北京";
var str = new String("asd");
alert(str.length);
alert(str.charAt(1));
alert(str.indexOf("d我",4));
alert(str.lastIndexOf("家",2));
alert(str.split("."));
alert(str.split(/~|\./));
alert(str.substr(0, 2));
alert(str.substring(0, 3));
alert(str.toLowerCase());
alert(str.toUpperCase());
prototype 扩展方法
String.prototype.quot = function (sep) {
if (!sep) {
sep = "\"";
}
return sep + this + sep;
}
var a = "abc";
alert(a.quot("!"));
扩展方法好处:
第一:可以对先前写好的对像不改变原对像,直接扩展方法
第二:扩展方法 对new后的对像 方法共享,减少了,new之后的内存