javascript(js)传对象

JavaScript015

javascript(js)传对象,第1张

说明:

1、window.location可简写为location.

2、getSearchAsArray方法为解析location字串。即将字符串传递的名-值对(按传统的name1=value1&name2=value2)转换到一个索引名是名字的数组。

参数为window.location字串。

其中escape()函数将数据转换成url适用的格式,特别是当内容包含空格时。

网上还有另一种方法来解析location,即正则表达式,大家有兴趣可以搜索一下。

3、location具体可以容纳的字串长度,是否和地址栏的长度相同,有兴趣的朋友可以测一下。

//======================以下是页面源码=======================

第一个页面index.html代码如下:

<HTML>

<HEAD>

<TITLE>window.search test </TITLE>

</HEAD>

<BODY>

<INPUT TYPE="button" onClick="doclick()">

<SCRIPT LANGUAGE="JavaScript">

<!--

function doclick()

{

location="test.html?a=1&b=2&c=3"

}

//-->

</SCRIPT>

</BODY>

</HTML>

第二个页面test.html

<HTML>

<HEAD>

<TITLE>test.html </TITLE>

</HEAD>

<BODY>

<SCRIPT LANGUAGE="JavaScript">

<!--

var srchStr=location.search

load()

function load()

{

if(srchStr)

{

var srchArray=getSearchAsArray(srchStr)

alert(srchArray["a"])

alert(srchArray["b"])

alert(srchArray["c"])

}

}

function getSearchAsArray(srchStr)

{

var results=new Array()

var input=unescape(srchStr.substr(1))

if(input)

{

var srchArray=input.split("&")

var tempArray=new Array()

for(var i=0i<srchArray.lengthi++)

{

tempArray=srchArray[i].split("=")

results[tempArray[0]]=tempArray[1]

}

}

return results

}

//-->

</SCRIPT>

</BODY>

</HTML>

这是接收普通参数,数组应该差不多,只是思想,你看看吧

    开发中,当执行一个事件时需要去知道触发这个事件的对象是谁?那么,如何获取,在这里我就对 event.srcElement与event.target 操作获取略作区分 。

event.srcElement: 表示可以获取当前作用事件的对象。

event.target: 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。

兼容性:

event.target: Ie9+ 火狐、谷歌;

event.srcElement:ie 678;

srcElement 是 IE 下的属性

target 是 Firefox 下的属性

Chrome 浏览器同时有这两个属性

一、利用event.srcElement 获取标签:

event.srcElement.tagName :因为它获取出来的都是以 大写 的形式,例如(“A”,“DIV”)所以需要转换 obj.tagName.toLowerCase()="a"

二、 利用event.srcElement 获取子对象:

第一个子标签 :event.srcElement.firstChild

最后个一个是: event.srcElement.lastChild

第几个孩子: event.srcElement.children[i]

所有孩子: event.srcElement.children

所有孩子节点: event.srcElement.childNodes

三、利用event.srcElement 获取父对象:

.event.srcElement.parentElement; 可以理解成是在鼠标所在对象的上一个对象。

四、vent.target的 判断使用  

 js中事件是会泡的,event.target它永远是直接接受事件的目标DOM元素  

一般是获取这个对象的id,兼容的写法如下:

var targetId = event.target ? event.target.id : event.srcElement.id

获取id后再拿到事件中去判断。

谢谢观读~

��

var a={a:123,b:"string"}

  var b = "{a:123,b:'string'}"

  console.log(a)

  console.log(b)

  alert(a)

  alert(b)

//我猜的情况:   接口返回给你前端的数据是字符串,而不是object。

//1 试着将字符串转成object,推荐转成json 对象。

//2 和后端协商http的请求的返回值。把response type 改为使用json,而不是text,html之类的文本

网页链接