js的环境和内置对象与函数的使用

js内置对象与函数的使用

(1) js环境:
 1.宿主环境(浏览器)     
 2.执行环境(上下文文档的环境)
     执行的环境决定了变量和函数的访问权限。
      A.全局环境
      B.函数环境
      c.eval();

1、<Script></script>块依次解析。

2、解析代码运行的环境。

3、对标识符(关键字)(var function )进行解析,解析到相应的环境下
4、如果还有<Script></script>块再按照上面的步骤依次解析

js的顺序问题

要调用上面js的关闭方法,上面的js先声明

<script src="${rc.contextPath}/view/cusviews/v_rush/js/rush.js" charset="utf-8"></script>
<script src="${rc.contextPath}/view/cusviews/v_rush/js/showRushRepairList.js" charset="utf-8"></script>

showRushRepairList.js

	content.push("<a class='iconfont' onclick='rush.closeInfoWindow()'></a></div>");

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(): 截取子字符串,两个参数,代表的是下标

	 <h1 id = "h1"><font>你好</font></h1>
	 <input type="button" value="innerHTML和innerText的区别" onclick="fun()">

         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对象的其他方法

	 <p id = "p">大</p>
	 <input type="button" value="变变变" onclick="fun()">
	 <input type="button" value="变变变1" onclick="fun1()">
		  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)+"<br/>");
	document.write(s2.replace("abc", "123")+"<br/>");

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

<script type="text/javascript">
	var str="1+2+3";
	alert(eval(str));
</script>

执行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));

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wespten

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值