对于面向对象,发表我个人的理解:
任何物体都视为一个对象,每个对象有自己的操作方法和属性。比如说吧:开发一个员工管理系统,抽象出一个员工的类。员工有工资和年龄作为数据成员,增工资、减工资等作为成员函数。因此,员工类可以为每一个员工定义一个实例,这样的实例就称为对象。
另外,对象与对象之间是可以交互的。
面象对象的四大特性,也可以再说一下,抽象,封装,继承,多态。
抽象是面象对象语言支持的一个特性,抽象指跟据实际应用抽取与用途有关的对象的属性和方法。
多态指对象在不同的环境可以产生不同的行为。
针对CSS
#
--
id
.
--
class
针对javascript中书写规则
一,凡是事件,脚本中均用小写格式。如:onclick
二,其他的,不论此关键字是由一个或多个单词组成,第一个字母统一为小写。如:toString(),split...
(切记:这一点要同C#中区分开来!!)
arguments对象
在JS函数代码中,使用特殊对象arguments,开发者无需明确指出参数名,就能访问他们。例如:
function sayHi(sMessage)
{
if
(sMessage
==
"
bye
"
)
{
return
;
}
alert(sMessage);
}
//
可以直接写成
function sayHi(sMessage)
{
if
(arguments[
0
]
==
"
bye
"
)
//
索引从0开始
{
return
;
}
alert(arguments[
0
]);
}
//
另外,可以通过它的length属性来检测传递给函数的参数个数值,例:
function howManyArgs(){
alert(arguments.length);
}
howManyArgs(
"
string
"
,
45
);
//
outputs "2"
howManyArgs();
//
outputs "0"
howManyArgs(
12
);
//
outputs "1"
转换格式符 \"
,
"
alert(\
"
Hello\
"
+ panams + \
"
,\
"
+ panames + \
"
ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script type=\"text/javascript\">alert(@'保存成功 "+navi.OuterXml+"')</script>");
Function对象
Function对象也有与所有对象共享的标准valueof()方法和toString()方法。这两个字法返回的都是函数的源代码,在调试时尤其有用。例如:
function doAdd(iNum){
alert(iNum
+
10
);
}
alert(doAdd.toString());//valueOf()返回的是同样的结果
这段代码输出了doAdd()函数的文本,如图:
关键字this
关键字this总是指向调用该方法的对象,例如:
var oCar
=
new
Object;
oCar.color
=
"
red
"
;
oCar.showColor
=
function(){
alert(
this
.color);
//
outputs "red"
};
//
注意,引用对象的属性时,必须使用this关键字。
使用mouseover和 mouseout事件是改变而面上某个东西的观观众的一个很流行的方法,比如:
<
img src
=
"
image1.gif
"
onmouseover
=
"
this.src='image2.gif'
"
onmouseout
=
"
this.src='image1.gif'
"
/
>
PS:你看出什么端倪了吗?
HTML事件
当你直接在JS中写事件脚本时,均用window开头,例:
<
html
>
<
head
>
<
script type
=
"
text/javascript
"
>
window.onscroll
=
function(){
var oTextbox
=
ducument.getElementById(txt1);
oTextbox.value
+=
"
\nscroll is at
"
+
document.body.scrollLeft
+
"
horisontally and
"
+
document.body.scrollTop
+
"
vertically.
"
;
}
</
script
>
</
head
>
<
body
>
<
textarea rows
=
"
15
"
cols
=
"
50
"
id
=
"
txt1
"
></
textarea
>
</
body
>
那么还能否给document.body.onscroll分配事件处理函数呢?当然可以。问题是,在而面还未载入完</body>标签前,document.body是不存在的。所以,如果这么写,会出现错误。
记住JS中关于以下三个数组操作方法
arrayObject.put(..);
arrayObject.splice(index,howmany,element1,.....,elementX)
index
必需。规定从何处添加
/
删除元素。
该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
howmany
必需。规定应该删除多少元素。必须是数字,但可以是
"
0
"
。
如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
element1 可选。规定要添加到数组的新元素。从 index 所指的下标处开始插入。
elementX 可选。可向数组添加若干元素。
arrayObject.reverse();