1.javascript是解释型语言,所以是顺序执行的(不同于编译语言),跟放置的位置有关
2.null是空值,undefine是自从创建后即没有赋值
3.javascript是让浏览器执行命令
4.
9==“9” //true
9===“9” //false
5.位移运算符<<(相当于把二进制数变大2倍 , >>(相当于把二进制数缩小2倍)
6.火狐FireFox (F12是进行编译)
7. javascript一般放置于head处,或者body处 ; css可以放置于任何元素处
8. javascript 的类对象其实就是函数对象
9.方法一般不要超过30行
10. OOP中谁调用我谁就是this,比如:
//定义类person
function Person( )
{
this.name="zhangsan";
this.fuc=function(){
document.wirte(this.name);
}
}
//定义对象
personA=new Person();
var personB=personA;
personB.fuc(); //结果this.name==widnow.name,因为此时personB.fuc()是在窗口下被window调用的,所以this是window
11.JS中的this
a.谁调用我谁就是该方法的this
b.this在方法外部使用时,相当于window
c.类内部this可以省略
d.JS中的全局变量就相当于window(该html窗口调用该js)中的一个动态属性//整个window就是一个对象
e.window中的所有函数都是由对象来调用的
12.访问修饰符
a.this在JS中只能访问公开的属性
b.私有成员在类内部不能使用this调用
eg:
//person类
function Person(){
var sexA="women"; //私有属性
var fucA=function(){ //私有函数
};
this.sexB="women"; //公有属性
this.funB=function(){ //公有函数
};
}
13.JS类内存分配
14.JS类内部定义的方法和属性相当于类初始化(所有对象都有),而类外部定有的方法和属性,只有该对象拥有--->谁用,谁就在外部动态添加方法和属性
15.类的原型和字典很相似,可以使用字典的键值对的方式去访问对象的属性和方法
16.Math对象: eval方法和mel很相似,可以执行表达式 //window.eval 相当于html的窗口对象(是个对象)
17.JS支持可变参数,eg:
function fuc( ){
Argument[0] //使用内置的Argument[]参数数组来动态取得参数
}
18. if( object.constructor==string) //可以使用.constructor来进行类型判断
19.JS的事件驱动机制,可分为:系统后台调用、手动调用
*事件是作用在元素上的,eg:
<head>
<link href="JSClassDemo.css" type="text/css" rel="stylesheet"></link>
<script language="javascript" type="text/javascript" src="JSClassDemo.js"></script>
</head>
<body onload="load();">
<div id="divTest" onclick='displayCurrentMousePosition(this);'> //this是指div这个元素本身
这是可以改变颜色的文字
</div>
<input type="text" onkeyPress="keyCue(event);" ></input>
<input type="button" onclick="changeFontColor(this);" value="red" ></input> //event是给事件处理函数传入的事件信息
</html>
20. Js中不存重载,同名函数-->就近原则使用
21. <input type="text/javascript" ... onkeypress=fun(参数可以使this,或者event都可)...>
22.userAgent --->用户说明属性(浏览器)
23. <div id="hero" onclick= "fun(由window调用,所以this默认为window,不用指定this,默认就是传入的) ;" >
24、<div id="hero" onclick="fun(this);" > //this 是指的的元素本身
26. window.isNoN(txt.value) //判断是否为数字
27. parentInt(txtSort.value) //将txt(string)转换为int
28. funtion $(name) {
return document.getElementById(name) } //可以使用$来作为函数名,使用方便
29. row[0].cell[0].innerHtml //空格中的html
30. Html语言可以被解释,如不能解释就为字面意义
tmpAddcell.innerHtml="<input type=...>" //innerHtml中的字可以被解释,所以可以执行该html
31. html节点:元素(使用document.getElementByID() 来获取节点) ,属性(直接使用如:document.anchor[0]来获取
32.
a. js的对象相当于html文件解析后的全局对象:对象可以直接使用 document location
b. 元素没有属性的,就想办法使用style属性中的子属性来做
33. window-->浏览器打开时就生成了, history-->也就生成了,但location只有访问时才产生,eg:about:blank 就不产生location
34. openner --->创建窗口的主窗口的引用
35. window 是所有对象的根
36. js加入在head处就相当于可以在head处展开该js
37. js 对window界面元素的处理时,应将该js放置在body的末尾,(因为要先生成界面元素才能操作)
38. script可以放置在html的任何地方
39. jsscript 的函数操作的元素对象,需要在操作之前存在,放走就要将script放置在body之后,(等到所有元素生成之后)