|
Visibility快于Display
讓圖畫(huà)時(shí)隱時(shí)現(xiàn)會(huì)創(chuàng)造很有趣的效果,有2種方法可以實(shí)現(xiàn)這個(gè)目的:使用CSS的visibility屬性或者
display屬性。對(duì)于絕對(duì)位置元素,diaplay和visibility具有同樣的效果。兩者的區(qū)別在于:設(shè)置為
display:none的元素將不再占用文檔流的空間,而設(shè)置為visibility:hidden的元素仍然保留原位置。
==============一點(diǎn)經(jīng)驗(yàn)=======================
1、JS變量沒(méi)有塊作用域,在判斷循環(huán)中的定義在整個(gè)函數(shù)內(nèi)都有定義
2、split()的參數(shù)是一個(gè)正則字符串,因此如果用鄭澤表達(dá)式特殊字符作為參數(shù)時(shí)一定要轉(zhuǎn)義
=============隱去瀏覽器中當(dāng)鼠標(biāo)移到圖片上跳出的工具欄=============
<img galleryimg="no">
或者
<head>
<meta http-equiv="imagetoolbar" content="no">
</head>
=============一些技巧==================
1、#連接不會(huì)回到頂部
<a href="#" ōnClick="return false">
---------------
2、關(guān)閉不提示
opener=null;
window.close();
============js面向?qū)ο缶幊痰囊恍┛偨Y(jié)=============
1、靜態(tài)屬性類(lèi)實(shí)例訪問(wèn)不到,同樣實(shí)例屬性只能實(shí)例訪問(wèn)
var myfun=function(){this.a="a"};
myfun.b="b";
alert(new myfun().a);//輸出a
alert(myfun.a);//輸出undefined
alert(myfun.b);//輸出b
alert(new myfun().b);//輸出undefined
2、給prototype添加屬性
添加給prototype的屬性將會(huì)成為使用這個(gè)構(gòu)造函數(shù)創(chuàng)建的對(duì)象的通用屬性。
function Fish(name, color)
{
this.name=name;
this.color=color;
}
Fish.prototype.livesIn="water";
Fish.prototype.price=20;
正如上面的例子所示,每條實(shí)例魚(yú)可以有不同的名字和顏色,但是他們有一個(gè)共同的屬性,那就是都生活在水里。
這時(shí)因?yàn)楫?dāng)一個(gè)對(duì)象被創(chuàng)建時(shí),這個(gè)構(gòu)造函數(shù)將會(huì)把它的屬性prototype賦給新對(duì)象的內(nèi)部屬性__proto__。這個(gè)__proto__被這個(gè)對(duì)象用來(lái)查找它的屬性。
3、用prototype給對(duì)象添加函數(shù)
通過(guò)prototype來(lái)給所有對(duì)象添加共用的函數(shù)。這有一個(gè)好處:你不需要每次在構(gòu)造一個(gè)對(duì)象的時(shí)候創(chuàng)建并初始化這個(gè)函數(shù)。
4、每個(gè)函數(shù)都有一個(gè)靜態(tài)name屬性(同樣,每個(gè)內(nèi)置類(lèi)都有一個(gè)靜態(tài)name屬性),這個(gè)屬性不能也不會(huì)被覆蓋
function a()={};
var b=new Function();
alert(b.name);//輸出anonymous
alert(a.name);//輸出a
alert(Array.name);//輸出Array
==================關(guān)于this==================
之所以說(shuō)一下this,是因?yàn)樗⒉煌耆韧贑++或者Java里面的this變量。
this在js中表示緊貼著調(diào)用地點(diǎn)的,非prototype擴(kuò)展的方法。
比如上面提到的
MyObj.prototype.sayBye = function () {
alert(”Bye” + this.name);
}
這個(gè)里面的this,緊貼的非prototype的函數(shù)是MyObj(再次注意,js中class是通過(guò)函數(shù)實(shí)現(xiàn)的),所以this.name就是實(shí)例變量。
但是在這種情況
MyObj.prototype.doSomething = function () {
todo(function () {
alert(this.name);
});
}
這個(gè)時(shí)候,this表示的是這個(gè)匿名函數(shù)
function () {
alert(this.name)
}
那么這里就會(huì)出現(xiàn)錯(cuò)誤,如果想要這樣使用,應(yīng)該使用輔助變量。
MyObj.prototype.doSomething = function () {
var me = this; //把自己的reference賦值給變量me
todo (function () {
alert(me.name); //通過(guò)me來(lái)訪問(wèn)myObj實(shí)例
});
}
JavaScript技術(shù):Javascript 個(gè)人筆記(沒(méi)有整理,很亂),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。