重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这段代码很简单,你应该是不明白两个运行结果不一样的原因,我只说明运行结果不同的原因。
10余年建站经验, 做网站、网站建设客户的见证与正确选择。创新互联公司提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。
首先你要明白this关键字是与运行时环境有关,和声明时环境无关。
new test(1).fun2();这个fun2调用fun1时这句alert(tihs.m_num);这个this的运行环境是fun2,所以它代表fun2,只会弹出undefined,
new test(1).fun3();由于fun3的指针是指向fun1的,而fun1是test的一个属性,这句alert(tihs.m_num);这个this的运行环境是test,所以它代表test,只会弹出5。
关于js中实例和对象的解释如下:
比如定义persion如下:
var person = new Object();
var person = {};
JS 是基于原型的面向对象语言, 所有数据都可以当作对象处理,所以 person 是对象, 可以把它当作是 Object 的实例. 当然, 一切都是对象。
第二个采用对象字面量的方式生成的person也是如此。
然而它内部没有调用new Object(),而是采用JSON的初始化方式:
将现有的引用指向person。
实例和对象的区别,从定义上来讲:
1、实例是类的具象化产品,
2、而对象是一个具有多种属性的内容结构。
实例都是对象,而对象不全是实例。
Js里面没有类(ES6以前)的语法,所以类的概念就通过创造一个对象来实现。
var gaga= new Gaga( "尜尜",null,"黑色");这样就是一个对象的实例化;
实例化对象,其实就是创建对象过程;
要用一个类中的一个方法。如果这个类是静态类,那么ok,可以直接调用这个方法。
可是如果这个类不是静态类呢?
就需要用对象来引用这个方法了。那么对象如何来呢?就需要new一下了。
例:B类要调用,A类中的 gaga()方法。
那么在调用干这个方法之前,必须要要创建A的对象。
A a = new Gaga();
a.Gaga();
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
document.oncontextmenu
=
function(){return
false};
//禁止鼠标右键菜单显示
var
res
=
document.getElementById('box');
//找到id为box的div
document.body.onmouseup
=
function(e){
//在body里点击触发事件
if(e.button===2){
//如果button=1(鼠标左键),button=2(鼠标右键),button=0(鼠标中间键)
console.log(e);
//将传进去的参数打印出来
console.log(e.offsetY);
//打印出鼠标点击的Y轴坐标
console.log(e.offsetX);
//打印出鼠标点击的X轴坐标
res.style.top
=
e.offsetY+'px';
//鼠标点击时给div定位Y轴
res.style.left
=
e.offsetX+'px';
//鼠标点击时给div定位X轴
res.style.display
=
'block';
//显示div盒子
}else{
res.style.display
=
'none';
//否则不显示div盒子
}
}
以上这篇JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。