内置对象
一、String对象
var str1 = "hello world";
var str2 = new String("hello world");
var str1 = "hello world";
document.write(str1.italics()) //相当于在HTML中<i>hello world</i>
var str1 = "Hello World";
document.write(str1.toLowerCase());
document.write(str1.toUpperCase());
var str1 = "Hello World";
document.write(str1.charAt(4)); //返回索引所在的字符
document.write(str1.charCodeAt(4)); //返回索引所在字符的Unicode编码
var str1 = "Hello World";
document.write(str1.indexOf("l")); //返回第一个被查询到的字符索引值
document.write(str1.lastIndexOf("l")); //该结果与indexOf的查询顺序相反
var str = "welcome to the China";
var str1 = str.match("in") //返回匹配字符串的数组,如果没有匹配则返回null
var str2 = str.search("in") //返回匹配字符串的首字符位置索引
document.write(str1[0]); //结果为:in
document.write(str2); //结果为:17
var str1 = "welcome to the China";
var str2 = str1.replace("China","Japan");
document.write(str2); //结果为:welcome to the Japan
var str = "welcome to the China";
var str1 = str.substr(2, 4);
var str2 = str.substring(2, 4);
document.write(str1); //输出结果为:lcom
document.write(str2); //输出结果为:lc
var str = "welcome to the China";
var str1 = str.slice(2,4);
var str2 = str.slice(2);
var str3 = str.slice(6,-1);
var str4 = str.slice(-3,-1)
document.write(str1); //输出结果为:lc
document.write(str2); //输出结果为:lcome to the China
document.write(str3); //输出结果为:e to the Chin
document.write(str4); //输出结果为:in
var str = "welcome to the China";
var strArray = str.split(" ");
document.write(strArray[0]); //输出为:welcome
document.write(strArray[1]); //输出为:to
var str1 = "welcome to the ";
var str2 = str1.concat("China")
document.write(str2); //输出为:welcome to the China
二、Array对象
var attr = new Array(7);
for (var i = 0; i < 7; i++) {
attr[i] = new Array();
}
attr[0][0] = "第一行第一列";
attr[0][1] = "第一行第二列";
attr[3][0] = "第三行第一列";
attr[3][1] = "第三行第二列";
attr[3][2] = "第三行第三列";
attr[0][1] = "第一行第二列";
attr[6][0] = "第七行第一列";
attr[6][1] = "第七行第二列";
console.log(attr)
//Python的字符串在使用join函数时,列表元素必须是字符串,而js对此无要求
var attr = [1,2,3,4];
console.log(attr.join("--")) //输出为:1--2--3--4
var attr1 = [1,2,3,4];
var attr2 = attr1.concat(5,6)
console.log(attr1.toString()) //输出为:1,2,3,4
console.log(attr2.toString()) //输出为:1,2,3,4,5,6
var attr1 = [1,2,3,4];
var attr2 = attr1.reverse();
console.log(attr2) //输出为:[4, 3, 2, 1]
var attr1 = [11,100,33,44];
var attr2 = attr1.sort();
console.log(attr2) //输出为:[100, 11, 33, 44]
----------------------------------------------------------------------------
//如需要常规方式排序,则需要编写一个判断大小的函数
function f(a, b){
if(a>b){
return 1;
}else if (a<b){
return -1;
}else{
return 0;
}
}
var attr1 = [11,100,33,44];
var attr2 = attr1.sort(f);
console.log(attr2) //输出为:[11, 33, 44, 100]
----------------------------------------------------------------------------
//由于传进sort的函数,是根据函数的返回值进行判断的,所以函数可简写为
function f(a, b){ return a-b; }
var attr = [1, 2, 3];
attr.push(4, 5, [6, 7]); //元素进栈
console.log(attr) //输出为:[1, 2, 3, 4, 5, Array(2)]
-------------------------------------------------------------------------
attr.pop() //元素出栈
console.log(attr) //输出为:[1, 2, 3, 4, 5]
-------------------------------------------------------------------------
attr.unshift("hello", "world") //从首端进栈,注意顺序
console.log(attr) //输出为:["hello", "world", 1, 2, 3, 4, 5]
-------------------------------------------------------------------------
attr.shift() //从首端出栈
console.log(attr) //输出为:["world", 1, 2, 3, 4, 5]
三、Function对象
//最常用的方式
function function_name1(param1, paramn){
//...
return null;
}
----------------------------------------------------------------------------
//一般不用的方式
var function_name2 = new Function("param1","paramn","function_body")
//创建方式一
var func = function (param) {
return param;
}
----------------------------------------------------------------------------
//创建方式二
(function (param) {
console.log(param)
})("有趣的创建方式");
function fun(param1, param2) {
console.log(param1 + param2)
}
//call
fun(1, 2); //输出:3
fun(1, 2, 3); //输出:3
fun(1); //输出:NaN
fun(); //输出:NaN
----------------------------------------------------------------------------
function a(a, b) {
alert(a + b);
}
var a = 1;
var b = 2;
//call
a(a, b)
注:变量a将函数a覆盖,导致调用函数时找不到函数a而出错。
function nxAdd() {
var result = 0;
for (var num in arguments) {
result += arguments[num]
}
alert(result)
}
nxAdd(1, 2, 3, 4, 5)
-----------------------------------------------------------------------------------
function f(a, b, c) {
if (arguments.length != 3) {
throw new Error("function f called with " + arguments.length +
"arguments,but it just need 3 arguments")
}
else {
alert("success!")
}
}
//call
f(1, 2, 3, 4, 5)
-----------------------------------------------------------------------------------
//arguments可以保存函数的所有参数