首頁 > web前端 > js教程 > 主體

淺析JavaScript中的常用演算法與函數_javascript技巧

WBOY
發布: 2016-05-16 17:13:38
原創
1044 人瀏覽過

程式碼使用方法:

0001:
判斷一個計算結果是不是無限大:if(isFinite(999999999*999999999) == true)
------------------- -------------------------------------------------- -------------------------------
0002:
判斷是不是數字:if(isNaN("Blue ") == true),不是數字則為true,是數字則為false。
----------------------------------------------- -------------------------------------------------- ---
0003:
數字的進位轉換:
var num = 10;
alert(num.toString()) "
";//十進位
alert( num.toString(2)) "
";//二進位
alert(num.toString(8)) "
";//八進位
alert(num.toString(16)) "
";//十六進位
------------------------------------ -------------------------------------------------- --------------
0004:
將字串型別轉換為數字型別:注意,parseFloat沒有進位參數可以選擇,都當作十進位處理
var str = "10";
alert(parseInt(str,10));//字串被當作十進位處理
alert(parseInt(str,2));//字串被當作二進位處理
----------------------------------------------- -------------------------------------------------- ---
0005:
強制型別轉換:
var str = "10";
var num = new Number(str);
---------- -------------------------------------------------- ----------------------------------------
0006:
Object類的基本屬性和方法:所有類別都繼承自Object,因此都有這些屬性和方法。
屬性:
●Constructor:建立物件的函數的參考。指向構造函數。
●Prototype:對該物件的物件原型的引用。
方法:
●HasOwnProperty(property):判斷物件是不是有某個屬性。
●IsPrototypeOf(aobject):判斷該物件是不是另一個物件的原型。
●PrototypeIsEnumerable(protype):判斷屬性是否可以用for...in語句列舉。
●ToString()
●ValueOf()
--------------------------------- -------------------------------------------------- -----------------
0007:
宣告陣列的幾種方法:
var array1 = new Array();
var array2 = new Array("Blue","Red","Black");
var array3 = ["Blue","Red","Black"];
------------ -------------------------------------------------- --------------------------------------
0008:
建立日期類型的方法:var myDate = new Date(Date.parse("2007/1/2"));
------------------------- -------------------------------------------------- -------------------------
0009:
URL的編碼和解碼:
var url = new String("http ://www.qpsh.com?name=smartkernel");
//編碼:將非標準字元全部編碼
var enUrl = encodeURIComponent(url);//encodeURI(url);
/ /解碼:轉換為原始形式
var deUrl = decodeURIComponent(enUrl);//decodeURI(enUrl);
---------------------- -------------------------------------------------- ----------------------------
0010:
ASP.Net中的編碼和解碼:
string url = "http://www.126.com?name=smartkernel";
string enUrl = this.Server.HtmlEncode(url);
string deUrl = this.Server.HtmlDecode(enUrl);
-------------------------------------------------- --------------------------------------------------
0011:
靜態方法:JavaScript的靜態函數,就是宣告給建構子的函數

複製程式碼


複製程式碼



程式碼如下:


function Person()
{


}
Person.say = function(msg)
{
alert(msg);}Person.say("你好"); 0012:建立一個物件:



複製程式碼


程式碼如下:



程式碼如下:






function Person(name,age){Person.prototype.Name = name;Person.prototype.Age = age;//this.Name = name;
//this .Age = age;}Person.prototype.say = function(){alert(this.Name "|" this.Age);} var aPerson = new Person("張三",23);aPerson.say();0013:StringBuilder的創建: 複製程式碼 程式碼如下:

function StringBuilder()
{
this.arrayData = new Array();
}
StringBuilder.prototype.append = function(str)
{
{
{
{
{
{
{{

{
{
{

{

{
{

{
{
this.arrayData.push(str);
}
StringBuilder.prototype.toString = function(){return this.arrayData.join("");} var aStringBuilder = new StringBuilder();aStringBuilder.append("世界");
aStringBuilder.append("你好");

alert(aStringBuilder.toString());


0014:
繼承的實作:


複製程式碼



複製程式碼



複製程式碼

複製碼

程式碼如下:

function Person(name)

{
this.Name = name;
this.sayName = function()
{
警報(this.Name);

}
}

function MyPerson(姓名,年齡)
{this.ctorFun = Person;this.ctorFun(姓名);刪除 this.ctorFun; this.Age = 年齡;this.sayAge = function()
{
alert(this.Age);
}

this.say = function()
{
alert(this.Name "|" this.Age);
}
}
var aMyPerson = new MyPerson("張三",25);

aMyPerson.sayName();
aMyPerson.sayAge();
aMyPerson.say();


0015:
繼承的實現:


複製代碼


代碼如下:


function Person(name)
{
this.Name = name;
this.sayName = function()

{
alert(this.Name);
}
}
function MyPerson(name,age){Person.call(this,name);//或Person.apply(this,new Array(name)); this.Age = 年齡;this.sayAge = function()
{
alert(this.Age);
}

this.say = function()
{
alert(this.Name "|" this.Age);
}
}

var aMyPerson = new MyPerson("張三",25);
aMyPerson.sayName();
aMyPerson.sayAge();
aMyPerson.say();


0016:
自適應繼承:




複製代碼


代碼如下:


函數Person1(姓名)

{

this.Name = 姓名;
this.sayName = function()
{
alert(this.Name);
}

}

function Person2(sex)
{
this.Sex = sex;

this.saySex = function()
{
alert(this.sex);
}
}} function MyPerson(姓名,年齡,性別){Person1.call(這個,姓名);Person2.call(這,性別);
this.Age = 年齡;
this.sayAge = function()
{alert(this.Age);

}

this.say = function()
{

alert(this.Name "|" this.Age "|" this.Sex);

}
}

var aMyPerson = new MyPerson("張三",25,"男");
aMyPerson.say();

0017:繼承的實作:原型鏈方式,不支持有參數的構造函數和子繼承複製代碼

代碼如下:


函數Person()
{

}
函數 MyPerson()

{

}

MyPerson.prototype = new Person();//不能有參數



0018:
合理的繼承機制是混合使用以上的幾種方式:



複製程式碼


程式碼如下:


function Person(name)
{

function Person(name)

{
this.名稱= 名稱;
this.sayName = function()
{
alert(this.Name);}} function MyPerson(name,age){Person.call(this,name);//或Person.apply(this,new Array(name));
this.Age = 年齡;
this.sayAge = function()
{
alert(this.Age);
}

this.say = function()
{
alert(this.Name "|" this.Age);
}
}MyPerson.prototype = new Person(); var aMyPerson = new MyPerson("張三",25);aMyPerson.sayName();aMyPerson.sayAge();aMyPerson.say(); 0019:錯誤處理:複製程式碼程式碼如下:程式碼如下:程式碼如下:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板