Ⅰ 为什么javascript里面的this在IE9用不了

一直用IE9,也在维护js的类库,你说的情况不存在的。

科普一下,javascript的this与面向对象的this概念略有不同,js的核心是函数式的编程语言,this代表调用者的上下文。

如:

var ns1 = { a: function () { this ...; } };

如果调用:
ns1.a(...);

a中的this就是ns1。

浏览器里面,如果是全局函数,this就是window对象,如果将函数复制到其他对象上,那么通过obj.fun()调用,this就是obj。

在javascript中,this可以通过apply改变。

Ⅱ 菜鸟求助:javascript中this的用法以及链接中href在js中#的用法

<a href="#" onclick="bg(this);return false">4X6</a>

<a href="javascript:void(0)" onclick="bg(this);return false">4X6</a>

Ⅲ js中的this怎么用

一般this出现在函数里时,只有在函数执行时才能确定this是什么,因为this是指那个调用这个函数的对象。比如说有如下方法:
function test(){
alert(this.length);
}
则,如下调用:
var str = new String(“test”);
str.test = test;
str.test();
此时的this就是字符串str,则调用过程弹出this的长度,实际就是弹出这里的str的长度,所以结果是4.
而如果是下面的调用:
var arr = new Array(1,2,3,4,5,6);
arr.test = test;
arr.test();
则这里的this就是arr这个数组,相应的弹出的就是数组arr的长度,也就是6.

而当没有对象来调用这个函数,即直接调用时,如下:
test();
因为在js中,全局的定义默认都是window的属性或对象,所以这里的调用,实际上是如下调用:
window.test();
window的length为0.则弹出的就是0.如果你定义了一个length,比如如下调用:
var length = 10;
test();
则弹出的就是10了。因为全局的定义一个length,实际相当于给window添加或重写了一个属性length。

Ⅳ javascript中this的意思

JavaScript:this是什么?

定义:this是包含它的函数作为方法被调用时所属的对象。
说明:这句话有点咬嘴,但一个多余的字也没有,定义非常准确,我们可以分3部分来理解它!
1、包含它的函数。2、作为方法被调用时。3、所属的对象。
看例子:
function to_green(){
this.style.color="green";
}
to_green();
上面函数中的this指的是谁?
分析:包含this的函数是,to_green
该函数作为方法被调用了
该函数所属的对象是。。?我们知道默认情况下,都是window对象。
OK,this就是指的window对象了,to_green中执行语句也就变为,window.style.color="green"
这让window很上火,因为它并没有style这么个属性,所以该语句也就没什么作用。
我们在改一下。

window.load=function(){
var example=document.getElementById("example");
example.onclick=to_green;
}
这时this又是什么呢?
我们知道通过赋值操作,example对象的onclick得到to_green的方法,那么包含this的函数就是onclick喽,
那么this就是example引用的html对象喽。
this的环境可以随着函数被赋值给不同的对象而改变!
下面是完整的例子:

<script type="text/javascript">
function to_green(){
this.style.color="green";
}
function init_page(){
var example=document.getElementById("example");
example.onclick=to_green;
}
window.onload=init_page;
</script>
<a href="#" id="example">点击变绿</a>

Ⅳ js中innerHTML与innerText的用法与区别

1、js中innerHTML的用法:

innerHTML可获取或设置指定元素标签内的 html内容,从该元素标签的起始位置到终止位置的全部内容(包含html标签)。

获取元素的内容:element.innerHTML;

给元素设置内容:element.innerHTML =htmlString;

代码示例为:

<p id="test"><font color="#000">获取段落p的 innerHTML</font></p>

document.getElementById("test").innerHTML

输出内容为:<font color="#000">获取段落p的 innerHTML</font>


(5)javascripthtmlthis扩展阅读:

1、javascript获取节点文本值:

(1)原生js写法 document.getElementById('test').innerHTML

(2)jQuery写法 $('#test').html()

2、javascript获取节点的方法:

(1)通过id的方式

document.getElementById("id")

(2)通过类名查找元素,多个类名用空格分隔,得到一个HTMLCollection(一个元素集合,有length属性,可以通过索引号访问里面的某一个元素)

document.getElementsByClassName('a b')

(3)通过标签名查找元素 返回一个HTMLCollection

document.getElementsByTagName('div')

(4)通过name属性查找,返回一个NodeList(一个节点集合,有length属性,可以通过索引号访问)

document.getElementsByName('c')

Ⅵ javascript中this,这两种写法有什么区别

建议加深理解js的作用域概念
简单的说,不写this的那个,变量i跟function不在同一个作用域内
虽然看起来这段代码执行的时候索引变量i是不同的,但function是异步的,都是被触发时才去读取那个变量i,你想一下这个时候的i的值会是你想要的那个值吗?

Ⅶ 为什么下面javascript 的this的指向window

o是一个obj对象(指向window),o.fn()是对象中的方法继承指向window, o.fn()这个方法return(返回)一个方法,方法打印this,起始就是o.fn()的方法体,继承方法的指向this还是window
所以o.fn()()执行的其实就是console.log(this),this一直没变指向

Ⅷ js中this代表什么意思

代表当前对象啊,js不是有document.getElementByID通过ID获取对象么,this就是获取当前对象,比如id为btn的按钮的onclick方法 onclick="method(this)",这个this就是当前按钮对象,作用和document.getElementByID("btn")一样。

Ⅸ javascript的this访问

在methods.say中使用this.name是访问不到Person的name成员的,因为methods.say方法中的this是指向methods这个对象的。只能调用时传入,或者使用函数的apply方法来调用, 从而可以指定this对象为Person.

Ⅹ 关于javascript的this在代码中代表什么为什么一个是this一个是this.form

第一个 this 指的是html控件本身,即文本输入框,这里是显示文本框的输入内容,所以传的是this。第一个 this 其实也指的是html控件本身,即按钮,this.form指的是这个按钮所在的form,因为处理form数据是要通过form来取得数据,所以了里传的是this.form