下面这段javascript中为什么要这样写,会不会有错误?

作者&投稿:尹修 (若有异议请与网页底部的电邮联系)
javascript中,一个js中的函数,第一句var _this = this;为什么要这样做? 下面是源码:~

问题一:
不知道楼主有没有接触过jquery jquery里边有一个特别典型的例子能说明用_this的作用
$("#btn").click(function(){
var _this = this;//这里this和_this都代表了"#btn"这个对象
$(".tr").each(function(){
this;//在这里this代表的是每个遍历到的".tr"对象
_this;//仍代表"#btn"对象
})
})
这种情况就是在一个代码片段里this有可能代表不同的对象,而编码者希望_this代表最初的对象
问题2:
其实并没有全部使用_this
但是据我所看,应该没有任何区别的,楼主的代码里用_this可能只是为了编码规范吧

据我看这里边没有任何错误的!这只是一个定义的过程而已民,又不是执行,即使是执行错误,那么只有一种可能性:

那就是传入html变量中含有'字符,而这个字符因与原来的字符相冲突,可能会在浏览器中报错!你在IE6中试着将原来的'字符或"字符全部换成编码或者直接去掉试一下!

未结束字符常量往往是这样的语句会出现:

var s = "sgfgsfgsdgs;
因为这里边只有一个"定界符,与后来必然不配对,所以才会出现未结束字符常量错误!

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

indexOf() 方法对大小写敏感!
如果要检索的字符串值没有出现,则该方法返回 -1。

语法stringObject.indexOf(searchvalue,fromindex)
参数描述
searchvalue 必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。

例子:
<script type="text/javascript">

var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />")
document.write(str.indexOf("World") + "<br />")
document.write(str.indexOf("world"))

</script>
以上代码的输出:
0
-1
6

JavaScript中String的 indexOf() 方法

如果要检索的字符串值没有出现,则该方法返回 -1。

参考:
http://www.w3school.com.cn/js/jsref_indexOf.asp

str.indexOf(a)。当str中不存在 子字符串a时, 返回-1。 这是函数定义的。没有什么特别的意思。


点到设为首页哪里显示javascnipt:是什么意思!
herf="javascript:homepage.style.behavior='url(#default#homepage)';用javascript网页脚本将当前页面设置为浏览器的初始页面。

白沙黎族自治县19791919258: 下面这段javascript中为什么要这样写,会不会有错误? -
油殃抗肿: indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置.indexOf() 方法对大小写敏感! 如果要检索的字符串值没有出现,则该方法返回 -1. 语法stringObject.indexOf(searchvalue,fromindex) 参数描述 searchvalue 必需....

白沙黎族自治县19791919258: javascript问题:下面这段话为什么必须在object对象prototype属性上定义?? -
油殃抗肿: 所有本地对象都继承了Object对象啊.所以用Prototype给Object添加一个方法,本地的所有对象都有这个方法了.如果不用prototype就不会这样啊.

白沙黎族自治县19791919258: javascript:为什么下面这段代码报错“未结束的字符串常量”啊?求指导!(IE8正常,IE6报错) -
油殃抗肿: 在script上加上charset=utf-8或gb2312试试,可能是网页编码(和网页的meta设置或者用户浏览器设置、系统默认编码)和js段内编码不一样引起的.

白沙黎族自治县19791919258: 为什么我下面这段中的js没有效果 -
油殃抗肿: delete在javascript里保留字,换个函数名试试

白沙黎族自治县19791919258: 下面代码,js中为什么发生一个鼠标事件onmousedown后它能确定是第几个循环做的 -
油殃抗肿: 那是因为当你执行完事件绑定的for循环之后, i == 3 了, 而你的事件处理都没有用到i, 所以事件正常运行.但是当你输出i的时候就只能得到for循环完成之后 i 的值.这个可以用闭包的方式解决 for(var i = 0; i { (function(i){ // 再把你的事件绑定放这里面来 })(i); }

白沙黎族自治县19791919258: javascript中,一个js中的函数,第一句var - this = this;为什么要这样做?下面是源码:下面这段代码是常用的网站首页,自动切换span或者tabbar来变更List... -
油殃抗肿:[答案] 问题一: 不知道楼主有没有接触过jquery jquery里边有一个特别典型的例子能说明用_this的作用 $("#btn").click(function(){ var _this = this;//这里this和_this都代表了"#btn"这个对象 $(".tr").each(function(){ this;//在这里this代表的是...

白沙黎族自治县19791919258: 这段javascript程序为什么显示这个结果 -
油殃抗肿: var mychar=document.getElementById("con");获取到的是id为con的p标签的对象,所以显示的是 结果:[object HTMLParagraphElement]

白沙黎族自治县19791919258: 下面这段JS代码中的changeName不是一个函数吗?为什么可以作为值赋给变量this.changeName. -
油殃抗肿: person这里是一个类,changeName被声明成person的类方法

白沙黎族自治县19791919258: JS问题、 下面这段代码有什么问题啊,高手帮我看看啊,为什么会出现这样的结果、
油殃抗肿: alert("city="+city); 这里的city是你定义的一个变量或者从网页获取的一个变量,所以将"city="和你city的值一起输出 alert("i="+i); 从1循环到最后,找到数组中from等于深圳的的 i是循环用的变量,所以输出的值是查找到的位置 alert(recordGNHK[i].from==city); 是用数组的值去和city的值做比较 是否相等 因为不等 所以输出false;

白沙黎族自治县19791919258: js的加载顺序问题,下面这一段代码,为什么放在<head>中就没有效果,然而放在<html>中就可以实现点击事件 -
油殃抗肿: 这么给你说吧 JS你最好放在body的最下面 因为你写在head里 在dom加载完成前 你的JS就执行完了 或者你在最外层加上$(document).ready(function(){//你的代码 }但是还是建议你将JS代码放在body内的最下面

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网