javascript中onclick 中的this指当前什么东西

javascript中onclick 中的this指当前什么东西,第1张

// this 是代表本对象的意思, 如:

<Button onclick='func(this)'>Button</Button>   // 这个 this 代表的就是这个 button

function func(element) {

    // 可以直接对这个对象进行 *** 作

    elementstylecolor = 'blue'; 

}

this就是原生的js,获取当前对象。你这里$()方法不过把它构造成了jquery对象而已。

继承结构比较复杂多样,

简单来说就是把父类的实例赋给子类的原型。

介绍最经典的一种继承方式

寄生组合式继承:

//父类

function SuperType(name){

thisname = name;

thiscolors = ["red","blue"];

}

//父类原型添加方法

SuperTypeprototypesayName = function(){

alert(thisname);

}

//子类

function SubType(name,age){

Supercall(this,name);//这里等于说用call函数去偷父类的实例属性

thisage = age;

}

inheritPrototype(SubType,SuperType);

//这里注意,给子类的原型添加属性要在继承之后,一面被覆盖

SubTypeprototypesayAge = function(){

alert(thisage);

};

//下面这个函数的作用是将父类的实例拿给子类的原型

//,并且把子类丢给原型的构造函数

function inheritPrototype(subType,superType){

var prototype = object(superTypeprototype);//这个方法是拷贝一个父类的实例

prototypeconstructor = subType;

subTypeprototype = prototype;

}

//拷贝一个父类的原型作用是避免在子类的原型中创建多余的属性

function object(superPrototype){

function F(){};

Fprototype = superPrototype;

return new F();

}

PS:原生js没学好,框架不能精通的。

PS的PS:楼主给分

这个问题问到js的精髓了。

在js中,万物皆对象,函数只是对象的一种。

js的this,指代着当前对象的自身(itself),但通过你的问题的内容,发现,你关注的地方并不单单在this关键词。

function a(value){

thisvalue =value;

alert(thisvlaue);

}

上面的这个函数语句,意味着,创建了名字为a,参数为value的函数对象:

这个函数对象有一个来自于参数的动态属性value;

这个函数对象还有一个返回值为void的window内置函数alert;

这个函数对象自身没有返回值(void)。

alert(new a(1)value);

上面的这个语句,意味着,新建一个参数为1的a对象,并把这个对象的value作为参数赋值给window的alert函数,并执行window的alert函数。

在上面的语句中,测试时,会出现两次警告框,且警告框的内容都是1,这是因为在新建a对象的时候,执行了一次alert,拿到a对象的value后,又执行了一次alert。

alert(windowa(3));

上面的这个语句,意味着,把3作为window对象的a函数的一个参数,执行a函数。

在上面的语句中,测试时,也会出现两次警告框,但是第一次是3,第二次就是undefined了,这是因为,windowa(3)执行的时候,会alert一下,内容就是3,alert()执行的时候,因为里面的windowa(3)没有返回值,所以alert的参数就是没有,所以就导致d出了一个“undefined”

function a(){

fucntion b(){}

return b;

}

new a()()

可以这么写(new a()())的原因是:

1、“new a()” ,这个是个对象创建过程,就是说,这样可以创建一个全新的函数对象。

2、第二个“()”,这个是个函数执行过程,就是说,加上一对“()”后,这个对象函数才开始执行。

a()b()

不可以这么写的原因是:

a()会让这个a函数对象执行后,返回的是一个名字为没有名字的空函数对象,这个空函数对象里面,并没有一个名字叫b的方法。

你如果想让上面的a里面的b函数顺利执行,可以参考下面的案例:

function a(){

function b(){alert(111)}

return b;

}

a()();//这样你就顺利的看到这个b函数执行了。

最后给你一个让你头晕的案例,呵呵。考虑一下是如何执行的,这个案例你完全搞明白后,基本上js的函数对象返回值问题,就不会再有了。

function a(){

thisb = function (){

return thisc = function(){

alert(111);

}

}

}

(new a()b())();

JS不知道jQuery方便实现

点击事件中,$(this)next(),获取当前标签同辈下一个元素

若想让后一个div显示和隐藏,$(this)next()show()或$(this)next()hide()

获得当前点击的a 标签的属性值,可以使用onclick方法来实现如下面实例:

<a id="test" href="#" onclick="alert(thisid+' ' + thishref);">ddd</a>

在标签中添加okclick方法,传递需要或取的参数值,如此来获取被点击的

a 标签的Id 或者Url。

以上就是关于javascript中onclick 中的this指当前什么东西全部的内容,包括:javascript中onclick 中的this指当前什么东西、jq中的$(this)也就是选择当前元素用源生js怎么表示、关于JS的THIS等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9540976.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存