1、JavaScript对象
(1)作为对象方法访问
<p id="demo"></p>
<script>
var person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
document.getElementById("demo").innerHTML = person.fullName();
</script>
//结果: John Doe
(2)作为对象属性访问
<p id="demo"></p>
<script>
var person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
document.getElementById("demo").innerHTML = person.fullName;
</script>
//结果:
/*
function() {
return this.firstName + " " + this.lastName;
}
*/
2、 JavaScript函数
(1)调用带参数的函数
<button onclick="myFunction('Harry Potter','Wizard')">Try it</button>
<script>
function myFunction(name,job){
alert("Welcome " + name + ", the " + job);
}
</script>
//结果:"Welcome Harry Potter, the Wizard"
(2)带有返回值的函数
通过使用 return 语句就可以实现。在使用 return 语句时,函数会停止执行,并返回指定的值。
function myFunction(a,b){
return a*b;
}
document.getElementById("demo").innerHTML=myFunction(4,3);
(3)JavaScript 变量的生存期
在 JavaScript 函数内部(function里面)声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
JavaScript 变量的生命期从它们被声明的时间开始。局部变量会在函数运行以后被删除。全局变量会在页面关闭后被删除。
如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。如这条语句:
carname="Volvo";//将声明一个全局变量 carname,即使它在函数内执行。
3、JavaScript String 对象
charAt() 返回在指定位置的字符。
charCodeAt() 返回在指定的位置的字符的 Unicode 编码。
concat() 连接两个或更多字符串,并返回新的字符串。
fromCharCode() 将 Unicode 编码转为字符。
indexOf() 返回某个指定的字符串值在字符串中首次出现的位置。
lastIndexOf() 从后向前搜索字符串。
match() 查找找到一个或多个正则表达式的匹配。
replace() 在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串。
search() 查找与正则表达式相匹配的值。
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分。
split() 把字符串分割为字符串数组。
substr() 从起始索引号提取字符串中指定数目的字符。
substring() 提取字符串中两个指定的索引号之间的字符。
toLowerCase() 把字符串转换为小写。
toUpperCase() 把字符串转换为大写。
trim() 去除字符串两边的空白
valueOf() 返回某个字符串对象的原始值。
(1)charAt()
//返回字符串中的最后一个字符:
var str = "HELLO WORLD";
var n = str.charAt(str.length-1);
//n 返回值:D
(2)charCodeAt()
//返回字符串中最后一个字符的 Unicode 编码:
var str = "HELLO WORLD";
var n = str.charCodeAt(str.length-1);
//n 输出结果:68
(3)concat()
该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串。
//连接3个字符串:
var str1="Hello ";
var str2="world!";
var str3=" Have a nice day!";
var n = str1.concat(str2,str3);
//n 输出结果: Hello world! Have a nice day!
(4)fromCharCode()
该方法是 String 的静态方法,字符串中的每个字符都由单独的 Unicode 数字编码指定。
String.fromCharCode();//将 Unicode 编码转换为一个字符串:
var n = String.fromCharCode(72,69,76,76,79);
//n 输出结果: HELLO
(5)indexOf()
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果没有找到匹配的字符串则返回-1。注意: indexOf() 方法区分大小写。没有小写的indexof()方法。
string.indexOf(searchvalue,start)
searchvalue //必需。规定需检索的字符串值。
start //可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是0到string Object.length-1,如省略该参数,则将从字符串的首字符开始检索。
//在字符串查找字符 "e" 第一次出现的位置:
var str="Hello world, welcome to the universe.";
var n=str.indexOf("e");
//n 输出结果: 1
//从字符串第五个位置开始查找字符 "e" 第一次出现的位置:
var str="Hello world, welcome to the universe.";
var n=str.indexOf("e",5);
//n 输出结果: 14
(6)lastIndexOf()
用法与indexOf一致,只是从后向前查找。
(7)match()
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
string.match(regexp)
regexp //必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。
//它的返回值:Array。存放匹配结果的数组。该数组的内容依赖于regexp是否具有全局标志g。如果没找到匹配结果返回null 。
//全局查找字符串 "ain",且不区分大小写:
var str="The rain in SPAIN stays mainly in the plain";
var n=str.match(/ain/gi);
//n 输出结果: ain,AIN,ain,ain
(8)replace()
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。该方法不会改变原始字符串。
string.replace(searchvalue,newvalue)
searchvalue //必须。规定子字符串或要替换的模式的RegExp对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
newvalue //必需。一个字符串值。规定了替换文本或生成替换文本的函数。
//返回值:String。 一个新的字符串,是用replacement替换了regex 的第一次匹配或所有匹配之后得到的。
//执行一个全局替换, 忽略大小写:
var str="Mr Blue has a blue house and a blue car";
var n=str.replace(/blue/gi, "red");
//n 输出结果: Mr red has a red house and a red car
(9)search()
search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。如果没有找到任何匹配的子串,则返回 -1。
string.search(searchvalue)
searchvalue //必须。查找的字符串或者正则表达式。
//返回值类型:Number。与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置。
//执行一次对大小写敏感的查找:
var str="Mr. Blue has a blue house";
document.write(str.search("blue"));
//以上实例输出结果:15
//执行一次忽略大小写的检索:
var str="Mr. Blue has a blue house";
document.write(str.search(/blue/i));
//以上实例输出结果:4
(10)slice()
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
string.slice(start,end)
//使用 start 和 end 参数来指定字符串提取的部分。其中end可选。若未指定此参数,则要提取的子串包括start到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
//字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推。
//提示: 如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
//提取最后一个字符:
var str="Hello world!";
var n=str.slice(-1);
//以上实例输出结果:!
//只提取第1个字符:
var str="Hello world!";
var n=str.slice(0,1);
//以上实例输出结果:H
(11)split()
拆分字符串。
string.split(separator,limit)
separator //可选。字符串或正则表达式,从该参数指定的地方分割 string Object。
limit //可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
//返回值类型:Array,一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 string Object 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
//省略分割参数:
var str="How are you doing today?";
var n=str.split();
//n 输出数组值得结果: How are you doing today?
//分割每个字符,包括空格:
var str="How are you doing today?";
var n=str.split("");
//n 输出数组值得结果: H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
//使用 limit 参数:
var str="How are you doing today?";
var n=str.split(" ",3);
//n 将输出3个数组的值: How,are,you
//使用一个字符作为分隔符:
var str="How are you doing today?";
var n=str.split("o");
//n 输出数组值得结果: H,w are y,u d,ing t,day?
(12)substr()
string.substr(start,length)
start //必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length //可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
//在本例中,我们将使用 substr() 从字符串第二个位置中提取一些字符:
var str="Hello world!";
var n=str.substr(2)
//n 输出结果:llo world!
(13)substring()
substring() 方法用于提取字符串中介于两个指定下标之间的字符。返回的子串包括 开始 处的字符,但不包括 结束 处的字符。
string.substring(from, to)
from //必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置。
to //可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
var str="Hello world!";
var n=str.substring(2,7);
//n 输出结果: llo w
(14)toLowerCase(), toUpperCase()
string.toUpperCase() 方法用于把字符串转换为大写。没有参数
string.toLowerCase() 方法用于把字符串转换为小写。没有参数
var str="Hello world!";
var str1=str.toLowerCase();
//str1 输出结果:hello world!
(15)valueOf()
string.valueOf() 方法可返回 String 对象的原始值。没有参数。
注意: valueOf() 方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中。
(16)trim()
string.trim()方法用于去掉字符串两边的空白。没有参数。
4、JavaScript Boolean 对象
(1)Boolean 对象
Boolean 对象用于转换一个不是 Boolean 类型的值转换为 Boolean 类型值 (true 或者false).
toString() //把布尔值转换为字符串,并返回结果。
valueOf() //返回 Boolean 对象的原始值。
boolean.toString()
toString() //方法可把一个逻辑值转换为字符串,并返回结果。
String "true" 或者 "false"
//将布尔值转换为字符串:
var bool = new Boolean(1);
var myvar = bool.toString();
//myvar 输出结果:true