一.JavaScript中的内置对象
1.在Js中如何创建字符串对象
在 JavaScript 中创建String对象的语法格式为:
var 对象名 = new String("字符串");
举例:
<script>
//创建一个变量名为 s1 的 String 对象,值为"hello";
var s1 = new String("hello");
//创建一个变量名为 s2 的 String 对象,值为"world";
var s2 = new String("world");
//在浏览器中输出
document.write("s1 = " + s1 + "<br />");
document.write("s2 = " + s2);
</script>
输出结果:
s1 = hello
s2 = world
2.Js中String使用 “==” 比较
在js中使用new关键字创建出来的两个值相等的String对象在使用 “==” 来进行比较时,结果毋庸置疑为 false
原因:同Java一样,判断的是两个对象的地址
不使用 new 关键字定义两个值相同的String对象,此时用 “==” 来比较,结果为true
举例:
<script>
var s1 = new String("hello");
var s2 = new String("hello");
//js中的balueof()比较的是对象原始值是否相同
document.write("判断两个对象的值是否相等:" + (s1.valueOf() == s2.valueOf()) + "<br />");//true
//比较地址是否相等
var result = (s1 == s2);
document.write("使用==比较使用new出来的两个值相等的String对象结果:" + result + "<br />");//false
//js中创建对象String,简写格式
var s3 = "helloworld";
var s4 = "helloworld";
var result2 = (s3 == s4);
document.write("使用==判断两个值相等的直接创建的String对象结果:" + result2 + "<br />");//true
</script>
输出结果:
判断两个对象的值是否相等:true
使用==比较使用new出来的两个值相等的String对象结果:false
使用==判断两个值相等的直接创建的String对象结果:true
二.内置对象String常用的函数
1.charAt(index) : 获取字符串中指定下标的字符;
举例:
<script>
//定义一个 String 对象 str
var str = "helloworldJavaEE";
//charAt(index):获取字符串中指定下标的字符
document.write("下标为5的字符为:" + str.charAt(5));
</script>
输出结果:
下标为5的字符为:w
2.concat(“拼接内容”) : 字符串拼接;
<script>
//定义一个 String 对象 str
var str = "helloworldJavaEE";
//concat("拼接内容"):字符串拼接
document.write("拼接之后的结果为:" + str.concat("你好世界"));
</script>
输出结果:
拼接之后的结果为:helloworldJavaEE你好世界
3.fontcolor() : 给字符串颜色标记(“参数英文单词或者#xxxxxx”)
<script>
//定义一个 String 对象 str
var str = "helloworldJavaEE";
//fontcolor():给字符串颜色标记("参数英文单词或者#xxxxxx")
document.write("将字符串标记为红色:" + str.fontcolor("red"));
</script>
4.substring() : 截取 跟Java中的String一样
<script>
//定义一个 String 对象 str
var str = "helloworldJavaEE";
//substring():截取,和Java中的String一样
document.write("截取的结果为:" + str.substring(5, 10));
</script>
输出结果:
截取的结果为:world
5.split() : 分割,获得字符串数组
<script>
//定义一个字符串
var str2 = "JavaEE-PhP-Go-R-C-C++";
//按照"-"进行截取,返回的是一个字符串数组
var strArray = str2.split("-");
//for-in遍历这个数组
for(var i in strArray){
document.write(strArray[i] + " ");
}
</script>
输出结果:
JavaEE PhP Go R C C++
三.JavaScript中自定义对象和使用
方式1:类似于Java中的有参构造
格式:
function 对象(属性名称1,属性名称2...){
//追加它的属性成员
this.成员属性1 = 属性名称1;
this.成员属性2 = 属性名称2;
//追加功能
this.方法名 = function(空参/带参){
...
}
}
创建对象
var 对象名 = new 对象(实际参数列表);
举例:
<script>
// 需求:定义一个人对象,有姓名,年龄,性别,
// 还有说英语的功能
function Person(name, age, gender){
//追加他的成员属性
this.name = name;
this.age = age;
this.gender = gender;
//追加功能
this.speakEnglish = function(name){
document.write(this.name + "会说" + name);
}
}
//创建Person对象
var p = new Person("猴子", 18, "男");
document.write("姓名是:" + p.name + ",年龄是:" + p.age
+ ",性别是:" + p.gender + "<br />");
//调用功能
p.speakEnglish("英语");
</script>
输出结果:
姓名是:猴子,年龄是:18,性别是:男
猴子会说英语
方式2:类似于Java中的无参构造
格式:
方式2:类似于Java中的无参构造
1.定义对象的格式:function 对象(){}
2.创建对象 var 对象名 = new 对象();
追加属性和追加功能
对象名.属性名称 = “值”;
对象名.方法名 = function(){}…
举例:
<script>
//定义对象
function Person2(){}
//创建Person2对象
var p2 = new Person2();
//追加属性和追加功能
p2.name = "八戒";
p2.age = 19;
p2.gender = "女";
p2.playGame = function(gameName){
document.write(this.name + "会玩"+gameName);
}
//使用
document.write("姓名是:" + p2.name + ",年龄是:" + p2.age
+ ",性别是:" + p2.gender + "<br/>") ;
p2.playGame("csgo") ;
</script>
输出结果:
姓名是:八戒,年龄是:19,性别是:女
八戒会玩csgo
方式3:使用 Object 对象(代表所有Js对象)
格式:
直接 new 对象
追加属性和追加功能
举例:
<script>
//直接 new 对象
var p3 = new Object();
//追加属性和追加功能
p3.name = "沙僧" ;
p3.age = 20 ;
p3.gender = "男" ;
p3.speakEnglish = function(name){
document.write(p3.name + "会说" + name) ;
}
//使用
document.write("姓名是:" + p3.name + ",年龄是:" + p3.age
+ ",性别是:" + p3.gender + "<br/>") ;
p3.speakEnglish("英语") ;
</script>
输出结果:
姓名是:沙僧,年龄是:20,性别是:男
沙僧会说英语
方式4:字面值的方式 “Json数据格式”
基本格式:{“key”:value} 这种键值对:
var 对象名= {
//追加属性
"属性名1":"值1",
"属性名2" : 值2,
...
//追加功能
"函数名":function(形式参数列表){
方法体语句;
}
};
举例:
<script>
//需要描述一个学生---->姓名,年龄,性别,住址,会玩游戏的功能
var student = {
//追加属性
"name":"小明",
"age" : 21,
"gender":"男",
"address":"地球",
//追加功能
"playGame":function(gameName){
document.write("会玩"+gameName+"<br/>") ;
}
};
//使用对象.key获取value
document.write("姓名 : " + student.name + ",年龄 : "
+ student.age + ",性别 : " + student.gender
+ ",住址 : " + student.address + "<br/>") ;
student.playGame("lol") ;
</script>
输出结果:
姓名 : 小明,年龄 : 21,性别 : 男,住址 : 地球
会玩lol