1》js中三个对象,String Boolean Number
<body>
<script type="text/javascript">
//Boolean 和 Number类型中的方法在开发中几乎不可能用到
//String对象==>学习重点
//属性
//length 长度,这个学过java的应该都知道
var str1 = "abc";
var str2 = new String("abc");
alert(str1.length);
alert(str2.length);
alert(typeof str1);//string
alert(typeof str2);//object
//String对象的方法
alert(str1.big());
alert(str1.sub());
alert(str1.bold());//这三个方法基本没用
//介绍几个重要的方法
//indexOf
//lastIndexOf
//charAt
//alert(str1.charAt(0));//a
//charCodeAt 返回所在字符的ASC码
//alert(str1.charCodeAt(0));//97 1---98
//subString
alert(str1.substring(0,1));//a
//slice 支持负数 从右往左
alert(str1.slice(0,-1));//a
//3.与正则结合的方法,用法跟java的很像,这几个方法是编程基本不变的。
//split
//replace
//match
//search
</script>
</body>
2>js中String Boolean Number之间的转换
<body>
<script type="text/javascript">
//利用包装类的构造函数进行类型转换
//string ---->boolean
var b1 = new Boolean("abc0");
//boolean---->string
var str1 = new String(true);
//number --->string
var str2 = new String(123);
//string ---->number
var num1 = new Number("123");
//运算符===>typeof 运算符 判断原始数据类型的
//instancof 运算符,是用来判断属于那种对象
alert(num1 instanceof Number);//true
alert(num1 instanceof Object);//true
alert(num1 instanceof String);//false
</script>
</body>
3》js中Array对象
<script type="text/javascript">
//1.创建方式
//1>创建方式1 创建一个数组并初始化值
var arr1 = ["abc",2,true,null,undefined,new Object()];
//2>创建方式2 同方式 1
var arr2 = new Array(1,2,3);
//3>创建方式3,如果只传一个数字那就是数组的长度
var arr3 = new Array(3);
//2.属性
//length ==>数组的长度
/*
alert(arr1.length);//6
alert(arr2.length);//3
alert(arr3.length);//3
*/
//js中数组的特点
//1.js中的数组,类型任意
//2.数组的长度不是固定的,用到那里,就有多长
/*
arr3[8] = 10;
alert(arr3.length);//9
alert(arr[6]);//undefined*/
//3.方法
var arr4 =[1,2,3];
//join方法==>将数组中的每个元素链接起来返回一个字符串,参数就是链接符。
//alert(arr4.join(""));//使用该方法就像java中的StringBuilder对象
//join方法的高级应用
/*
var str1 ="a";
var str2 = "b";
var str3 = "c";
alert(str1+str2+str3);
["a","b","c"]==>"abc"
*/
//push/pop ==>模拟栈的结构
//shift/unshift ==>模拟队列的结构
//reverse方法==>将数组中的元素顺序倒置
//alert(arr4.reverse());//3.2.1
//sort方法 ==>排序的方法
//注意:该方法默认排序规则,按照字符串规则排序
//如果需要按照数字排序,需要准备一个比较器
var arr5 =[2,9,3,100,5,7,1];
alert(arr5.sort(abc));
//函数对象==>比较器
function abc(a,b){
if(a>b){
return 1;
}else if(a==b){
return 0;
}else{
return -1;
}
return a-b;//跟上面的if是一样的效果。
}
</script>
4》js中的Global对象
<script type="text/javascript">
//6个方法==>关于解码,编码的方法
//encodeURI 编码 只编码汉子
//decodeURI 解码
var url = "http://www.baidu.com?name=?张/三:";
var url2 = encodeURI(url);
alert(decodeURI(url2));//张三,原因如上
//encodeURIComponent 编码 当提交的值中包含一些url中的敏感符号时,使用该方法对敏感符号编码
//decodeURIComponent
//alert(encodeURIComponent(url));
//escap2 已经过时
//unescape 已经过时
//isNaN 判断摸个值是否是NaN ==> NaN==NaN=>false
//alert(isNaN(NaN));//true
//alert(NaN == NaN);//false
//parseInt 转换成整数
//parseFloat 转换成浮点数
var str = "123abc";
//1.使用 +
//2.使用 new Number()
//3.parseInt
//alert(typeof parseInt(str));//number
/*
alert(+str);//NaN
alert(new Number(str));//NaN
alert(parseInt(str));//123
*/
//区别: 1,2两种转换属于将字符串整体进行转换.如果字符串中包含1个或以上转换不了的字符,返回NaN
//3 从左到右 依次转换,能转一个是一个,直到遇到不能转换的值停止.
//parseFloat 转换成浮点数
//与上面的parseInt一样,区别是支持转换小数
var str = "3.141544.12131";
alert(parseInt(str));//3
alert(parseFloat(str));//3.141544
</script>
5>js中的Math对象
<script type="text/javascript">
//Math对象
//属性内建对象==>不需要创建实例,直接使用即可
//属性
//PI==>3.14159圆周率
//方法
//random方法--->返回随机的0-1,包含头不包含尾
//alert(Math.random());
//round方法==>四舍五入方法
//返回0~100之间的随机数.0和100都可能出现
//alert(Math.round(Math.random()*100));
//max() min()方法比较大小
alert(Math.max(1,2));
//pow ==>计算参数1的参数2次方
alert(Math.pow(2,3));//8
</script>
6>js中的regExp对象
<script type="text/javascript">
//正则对象
//1.构造方法
//参数1正则字符串,参数2匹配模式
//用户名必须以字母开头,长度在6到10位之间
//匹配模式有两种
//"i":忽略大小写,ignoredCase
//"g":全局匹配global
var reg1 = new RegExp("^[a-zA-Z][a-zA-Z_0-9]{5,9}$","g");
var reg2 = /^[a-zA-Z][a-zA-Z_0-9]{5,9}$/g;
//2.方法
//test方法==>测试字符串与正则是否匹配
var username = "a3456";
alert(reg1.test(username));//false 5-9不包含5,但是包含9
//与string对象结合的4个方法
var str ="hello world";
alert(str.split(/o/g));//自己先才猜猜
alert(str.replace(/o/g,"haha"));
alert(str.search(/o/g));//只能找出第一个出现的位置,如果找最后一个用exec方法
alert(str.match(/o/g));//找到字符串中符合正则表达式的部分并返回
</script>