js 进阶知识

来源:互联网 发布:女孩穿衣打扮知乎 编辑:程序博客网 时间:2024/06/06 17:22

1)打开一个窗口就会有一个window对象(如页面上的iframe),window中包含document,document主要是来操作dom元素的(页面上的标签元素)

2)我们在页面上声明一个全局变量其实是声明在window对象上的,eg:

<span style="font-size:14px;">  var abc = 'jy';    alert(window.abc);    alert(abc);    //由此可见全局变量abc是注册在window对象上的,即所有的变量都是注册在window对象上的。页面上的控件    //或者元素是注册在window内部的document对象上的,换句话说window是一个页面的最高级。    alert(document.body.innerHTML);    alert(window.document.body.innerHTML);    //由上面可以知道window是在最上层的,它的下面是document,window是指当前整个窗体,而document是指当前页面中的元素。</span>

3)js中的类其实都是方法,举个例子来说明一下,eg:

 var A = function () {        this.name = "wenbin";//这里的this关键字不能省略,否则调用不到。        this.jy = function () {            alert('heihei');        }    }
我们可以直接输出类A的属性name,使用语句var a=new A();alert(a.name);

下面是一个复杂的例子,eg:

   var A = function () {        this.name = "wenbin";        this.jy = function () {            alert('heihei');        }    }    //可以用这种方式来声明类,其实类也就是方法。js中就是这样表现类的。    //这里的b依赖于a    var B = function (aObject) {        this.aObject = aObject;        alert(aObject.name);        this.heihei = aObject.jy;        this.attr = { name: 'wenbin', age: 26 };    }    var a = new A();    alert(a.name);    //下面的是把a注入到b。    var b = new B(a);    //上面相当于调用默认构造函数,直接调用了alert(aObject.name)    alert(b.attr.age);    b.heihei();</span>


4)js中的alert指令会终止一切进程,只有等到alert执行过后(用户点掉对话框后)才回去执行其他的。这个时候就会出现问题,如angular的表达式,其他语言的对话框也是一样,所以我们要是添加了alert之后代码就好用的话,那么就有可能是程序的线程问题,即东西没执行完,但是不知道在哪块又进行了调用,或者是线程问题。




0 0
原创粉丝点击