DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 從jQuery.camelCase()學習string.replace() 函數學習
從jQuery.camelCase()學習string.replace() 函數學習
編輯:關於JavaScript     
功能
camelCase函數的功能就是將形如background-color轉化為駝峰表示法:backgroundColor。
此函數在jQuery的data函數,以及涉及到css的諸多函數中都有用到。

jQuery的實現
復制代碼 代碼如下:
//正則匹配
rdashAlpha = /-([a-z])/ig,
// camelCase替換字符串時的回調函數
fcamelCase = function( all, letter ) {
return letter.toUpperCase();
},
...
camelCase: function( string ) {
return string.replace( rdashAlpha, fcamelCase );
},

這個功能本身並不難,就是調用了String對象的replace方法。但是本著學習的態度還是研究了一下replace方法。
資料參考:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace

String.replace()語法
str.replace(regexp|substr, newSubStr|function[, Non-standard flags]);

String.replace()參數說明
regexp:一個用於搜索正則表達式
substr:一個用於搜素字符串
newSubStr:一個用於替換的新字符串
function:一個回調函數,函數的返回值用於替換原匹配的字符串
flags:非標准,類似於RegExp的i、g、m(忽略大小寫、是否全局搜索、匹配多行)

指定字符串作為替換對象
在用於替換的字符串中你可以使用以下模式:
$$ => 插入一個$
$& => 插入匹配的子串
$` =>插入匹配的子串之前的所有字符
$' => 插入匹配的子串之後的所有字符
$n / $nn => 此模式只有在replace()方法的第一個參數為RegExp,且正則表達式內包含括號時有效。

指定函數作為替換對象
典型的replacement函數:function(str,p1,p2,offset,s){}
參數說明:
str:匹配的字符串(類似$&)
p1,p2,...:此模式只有在replace()方法的第一個參數為RegExp,且正則表達式內包含括號時有效。(類似$n / $nn)
offset:匹配子串的偏移量
s:用於搜索的字符串

獲取CSS屬性的駝峰表示
復制代碼 代碼如下:
String.prototype.camelCase=function(){
//all為匹配的子串,而letter則為p1,因為[a-z]加入了括號
return this.replace(/-([a-z])/ig,function( all, letter,offset,s ) {
return letter.toUpperCase();
});
};
var cssText = 'h2\n{\n border-bottom:1px solid #eee;\n background-color:#bbb;\n}';
var newstr = cssText.camelCase();

交換匹配字符串的位置
復制代碼 代碼如下:
var re = /(\w+)\s(\w+)/;
var str = "John Smith";
var newstr = str.replace(re, "$2, $1");
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved