Javascript 個人筆記(沒有整理,很亂)
2024-09-06 12:41:58
供稿:網友
==============關于元素的顯示和隱藏=============
Visibility快于Display
讓圖畫時隱時現會創造很有趣的效果,有2種方法可以實現這個目的:使用CSS的visibility屬性或者
display屬性。對于絕對位置元素,diaplay和visibility具有同樣的效果。兩者的區別在于:設置為
display:none的元素將不再占用文檔流的空間,而設置為visibility:hidden的元素仍然保留原位置。
==============一點經驗=======================
1、JS變量沒有塊作用域,在判斷循環中的定義在整個函數內都有定義
2、split()的參數是一個正則字符串,因此如果用鄭澤表達式特殊字符作為參數時一定要轉義
=============隱去瀏覽器中當鼠標移到圖片上跳出的工具欄=============
<img galleryimg="no">
或者
<head>
<meta http-equiv="imagetoolbar" content="no">
</head>
=============一些技巧==================
1、#連接不會回到頂部
<a href="#" ōnClick="return false">
---------------
2、關閉不提示
opener=null;
window.close();
============js面向對象編程的一些總結=============
1、靜態屬性類實例訪問不到,同樣實例屬性只能實例訪問
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的屬性將會成為使用這個構造函數創建的對象的通用屬性。
function Fish(name, color)
{
this.name=name;
this.color=color;
}
Fish.prototype.livesIn="water";
Fish.prototype.price=20;
正如上面的例子所示,每條實例魚可以有不同的名字和顏色,但是他們有一個共同的屬性,那就是都生活在水里。
這時因為當一個對象被創建時,這個構造函數將會把它的屬性prototype賦給新對象的內部屬性__proto__。這個__proto__被這個對象用來查找它的屬性。
3、用prototype給對象添加函數
通過prototype來給所有對象添加共用的函數。這有一個好處:你不需要每次在構造一個對象的時候創建并初始化這個函數。
4、每個函數都有一個靜態name屬性(同樣,每個內置類都有一個靜態name屬性),這個屬性不能也不會被覆蓋
function a()={};
var b=new Function();
alert(b.name);//輸出anonymous
alert(a.name);//輸出a
alert(Array.name);//輸出Array
==================關于this==================
之所以說一下this,是因為他并不完全等同于C++或者Java里面的this變量。