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