js内置对象与函数的使用
(1) js环境: 1.宿主环境(浏览器) 2.执行环境(上下文文档的环境) 执行的环境决定了变量和函数的访问权限。 A.全局环境 B.函数环境 c.eval();
1、块依次解析。
2、解析代码运行的环境。
3、对标识符(关键字)(var function )进行解析,解析到相应的环境下 4、如果还有块再按照上面的步骤依次解析
js的顺序问题
要调用上面js的关闭方法,上面的js先声明
showRushRepairList.js
content.push("
rush.js
var rush = {
closeInfoWindow:function(){
map.closeInfoWindow();
}
}
js调用的外部函数文件其扩展名为.htc
addbehavior()
添加到收藏夹:external.addfavorite(”http://www.google.com”,”google”);
js中遇到脚本错误时不做任何操作:window.onerror = donothing; 指定错误句柄的语法为:window.onerror = handleerror;
(2) js对象
1.内置对象 Global//不可以访问和创建,运行js自动创建,里面的方法都是内置顶层函数的方法 Math
2.本地对象 Array Number String Boolean Function RegExp
3.宿主对象 DOM BOM
String对象的方法: 1. substr(): 截取子字符串,两个参数,第一个参数是下标,第二个参数是截取的长度 2. substring(): 截取子字符串,两个参数,代表的是下标
你好
function fun(){
var txt = document.getElementById("h1").innerHTML ;
txt = document.getElementById("h1").innerText;
alert(txt) ;
}
var s = "abcdefg" ;
//alert(s.substring(2,3)) ;//c
// alert(s.substring(300,-200)) ;//
alert(s.substr(2,3)) ; //3是i长度,不是索引
String对象的其他方法
大
function fun(){
//1.拿到p标签对象
var p = document.getElementById("p") ;
//2.拿到p标签对象的主体内容
var txt = p.innerHTML ; //innerHTML必须是有开始标签和结束标签的标签对象才能使用
//3.改变字体内容,再赋值回去
p.innerHTML = txt.big().big() ;
}
//示例:点击变变变1按钮,让p标签中的文本的颜色随机变换
var arr = ["red","blue","green","yellow","#666666"] ;
function fun1(){
//1.拿到p标签对象
var p = document.getElementById("p") ;
//2.随机取得一个整数作为数组的下标
var index = Math.floor(Math.random()*arr.length) ;
//3. 拿到p标签对象的主体内容
// var txt = p.innerHTML ;
var txt = p.innerText ;
//3.给p标签对象的主体内容改变颜色,并赋值回去
p.innerHTML = txt.fontcolor(arr[index]) ;
// alert(p.innerHTML) ;
setTimeout("fun1()",500) ;
}
replace替换
document.write(s2.indexOf("abc", 0)+"");
document.write(s2.replace("abc", "123")+"");
Math对象:
1.floor(x): 取得小于等于x的最大整数,对数进行下取舍 2.ceil(x) :取得大于于等于x的最大整数,对数进行上取舍 3.random(): 取得0~1之间的随机数(可以等于0,永远不能取得1) 4.round(): 四舍五入为整数
5.Math.abs();取绝对值
6. Math.max(参数....) Math.min(参数.....) 取最大值或最小值
生成随机数字
var uniqueNo = Math.floor(Math.random()*1000000000000);
var a = 3.1;
alert(Math.floor(a)) ;
alert(Math.ceil(a)) ;
alert(Math.round(a))
Date对象:1.拿到当前时间:new Date() ; 2.拿到年月日,时分秒: getXXX() ;
var d = new Date() ;
alert(d.toLocaleString()) ;
alert(d.getYear()) ;
alert(d.getMonth());
alert(d.getDate()) ;
alert(d.getDay()) ;
(3)内置顶层函数
1.escape() 对字符串进行编码,网络传输数据
2.unescape() 对编码的字符串进行解码
3.Number() 转换成数值类型
4.String() 转换成字符串类型
5.Boolean() 转换成布尔类型
6.parseInt() 将字符串转换为整型
7.parseFloat() 转换为小数
8.isNaN() not a number ,判断一个数能否转换为数值类型。返回TRUE不是数字
9.isFinite() 判断一个数是否为有穷的数字。将不是有穷的数字或不能转换为数值类型的数返回假。
10.eval() 将字符串转换成javascript命令执行(必须符合javascript语法规范,否则会出错)。
a.主要执行字符串,将结果转换为数字 b.将json格式的字符串转换为json {"a":"中国","b":"美国","c":"日本"}
一、eval()函数
alert(eval("3 + 10") + eval("2")) ;
执行str遍历 返回 输出6
var str="1+2+3";
alert(eval(str));
执行js代码,弹出百度
eval("var a='百度';alert(a)");
执行其中的的 JavaScript 代码。有时候ajax从服务器返回数据是字符串,对返回的字符串进行处理。
$("input[name='" + _keys[0] +"']").parent().parent().find("button").unbind('click').bind('click', function(){
var action = "_self." + $(this).attr("action");
eval(action);
});
var dataObj = eval("("+data+")") Json串转成Json对象
var dataObj=eval("("+xmlHttp.responseText+")");
alert(dataObj.students.length);
eval()兼容性问题
function evals (str) {
if(typeof str!="string"){
return;
}
if(window.execScript){//为true为ie浏览器
window.execScript(str);
}else{
window.eval(str);
}
}
//全局访问c
function aa () {
evals("var c='百度'");
alert(c);
}
aa();
alert(c);
二、escape()编码 unescape()解码
var b = "百度" ;
var c = escape(b) ;
alert(c) ;
alert(unescape("%u540E%u76FE%u7F51")) ;
对网址进行编码
var e = "http://www.sohu.com?a=中国&b=美国" ;
var f = encodeURI(e) ;
alert(f) ;
alert(decodeURI(f)) ;
三、isFinite()判断一个数是否为有穷的数字
alert(isFinite(333333e+33333333))
alert(isFinite(333333))
四、判断是否为数值类型
if( !isNaN(document.mylist.length) ) {}
五、Number()把任何的类型转换为数值类型
A.如果是布尔值,false为0,true为1 B.如果是数字,转换成为本身。将无意义的后导0去掉。 C.如果Null转换为0 D.如果是undefined 转换为NaN not a number E.如果对象则会先调用对象的 valueOf(),如果valueOf()返回的是NaN,然后再调用对象的toString() F.如果是字符串 1.如果字符串当中只有数字,转换为10进制(忽略前导0和后导0) 2.如果是有效的规范的浮点型,转换为浮点值(忽略前导0和后导0) 3.如果是空字符串,则转换为0 4.如果是其他的值,返回NaN
//转换为数值类型
//Number()
布尔
var a=false;
alert(Number(a));
数值
var a=2.30;
alert(Number(a))
Null
var a=null;
alert(Number(a))
对象
var a={
toString:function () {
return 3;
},
valueOf:function () {
return "abc";
}
};
alert(Number(a));
字符串
var a="0123.0";
alert(Number(a));
var flo="houdunwang";
alert(Number(flo));
六、parseInt()将字符串转换为整数 A.如果一个字符串只包含数字,则以10进制的方式转换为整型。 B.他会自动忽略字符串前面的空格,知道找到第一个非空的数值字符串,直到解析到第一个 非数值的字符串结束。 C.如果字符串的第一个字符不是空格、数字、-,那么返回NaN D.参数1 八进制 十进制 十六进制 0 后面的数字不能超过7 0x 0-9 a-f
parseInt()
var a="12344";
alert(parseInt(a));
var a="A123abc";
alert(parseInt(a));
var a=10;
alert(parseInt(a,8));
七、parseFloat() 将字符串转换为浮点数 A.字符串当中的.只有第一个有效,其他的都是无效的。 B.如果字符串是一个有效的整数,他返回的是整数,不会返回浮点数。
parseFloat()
var a="1.0";
alert(parseFloat(a));