javascript
狗熊掰棒子之重拾棒子之JavaScript篇
前言:其實,我們只要相信,任何東西都可以取到,任何東西都可以操作,任何東西都可以編程。因為所有的東西都是人規定的。而且,我們能想到的他們都想到了,我們沒有想到的他們也想到了。
做了這麼久的項目了,有一些很簡單的東西仍然需要去查,很麻煩。現在的公司能夠上網,就順便把一些常用到的記錄下來,備忘一下。
1.禁用、啟用控件
document.getElementById("controlID").disabled=true;
document.getElementById("controlID").disabled=false;
2.清空頁面上所有控件的值
window.document.forms[0].reset();
3.清空頁面上所有textbox的值
function ClearAllText()
{
????????
??????????var obj=window.document.forms[0];
???????????for(i=0;i<obj.elements.length; i++)
????????????{
????????????????? var elem=obj.elements[i];
?????????????????? if(elem)
??????????????????? {
?????????????????????? if(elem.type=="text")
??????????????????????? {
????????????????????????????? elem.value="";
??????????????????????? }
??????????????????????
???????????????????? }
????????????? }
????????????
???}
?4.客戶端JavaScript觸發服務器控件Button的click事件
document.getElementById(' <%= Button1.ClientID %>').click();
?5.去掉字符中的所有逗號
如題: var oldstr=123,456,789.00
????????? var newstr=oldstr.replace(",","")
????????? alert(newstr)
????????? 輸出為:123456,789.00
但是我想去掉所有逗號,咋整?
???????? OK,Look!
???????? var newstr=oldstr.replace(/,/g,"")
???????? alert(newstr)
?????????輸出為:123456789.00
Oh,yeah.就是我想要的!
6.文本框內容自動變為大寫
利用CSS:<input name="inp" type="text" style="text-transform:uppercase;" />
text-transform 有四個可選:
none 默認值。無轉換發生
uppercase 轉換成大寫
lowercase 轉換成小寫
capitalize 將每個單詞的第一個字母轉換成大寫,其余無轉換發生
7.為下拉框指定值
<asp:DropDownList?ID="ddl"?runat="server"?>??????
<asp:ListItem?Value="0">選項0</asp:ListItem> ??
<asp:ListItem?Value="1">選項1</asp:ListItem>? ??
</asp:DropDownList>?
由下面的語句指定:
document.getElementById("ddlFolder").value="givevalue";//givevalue為你要選中的項的value??
8.獲取頁面上的img對象
? imgs =document.getElementsByTagName("img")
??? for(var i=0;i<imgs.length;i++)
????{
?????????imgs[i].src="圖片路徑"
????}
9.this關鍵字
關鍵字this總是指向調用該方法的對象。
10.arguments對象
在函數代碼中,有一種特殊對象arguments,我們無需明確指出參數名,就能訪問它們。例如:
function sayHi(message){
?alert(message);
}
它的第一個參數是message,用arguments[0]也可以訪問這個值,即第一個參數的值(第一個參數位置位于0,第二個參數位置位于1,以此類推)。
因此,無需明確命名參數,就可以重寫函數:
function sayHi(){
?alert(arguments[0]);
}
除了訪問參數外,還可以用它來檢測傳給函數的參數的個數,引用屬性arguments.length即可。
下面的代碼將輸出每次調用函數使用的參數個數:
function howmanyArgs(){
?alert(arguments.length)
}
howmanyArgs("string",45)//outputs 2
howmanyArgs("string")??? //outputs 1
howmanyArgs()????????????? //outputs 0
與其他程序語言不同,ECMAScript不會驗證傳遞給函數的參數個數是否等于函數定義的參數個數。開發者定義的函數都可以接受任意個數的參數(根據Netscape的文檔,最多能接受25個),
而不會引發錯誤。任何遺漏的參數都會以undefined傳遞給函數,多余的參數將忽略。
用arguments對象可以判斷傳遞給函數的參數個數,即可模擬函數重載:
function doAdd(){
?if(argument.length==1){
??alert(arguments[0]+10);
?}
?else{
??alert(arguments[0]+arguments[1]);
?}
}
doAdd(10);?? //outputs 20
doAdd(30,20);//outputs 50
11.閉包
JavaScript支持閉包(closure)。所謂閉包,是指詞法表示包括不必計算的變量的函數,也就是說,該函數能使用函數外定義的變量。在ECMAScript中使用全局變量就是一個簡單的閉包的例子。
如下代碼:
var message="Hello world!";
function sayHelloWorld(){
?alert(message);
}
sayHelloWorld(); //outputs Hello world!
在一個函數中定義另一個函數會使閉包變的更復雜,如下所示:
var? iBaseNum=10;
function addNumbers(iNum1,iNum2){
?function doAdditon(){
??return iNum1+iNum2+iBaseNum;
?}
?return doAddition();
}
這里,函數addNumbers()包括函數doAddtion()(閉包)。內部函數是個閉包,因為它將獲取外部函數的參數iNum1和iNum2以及全局變量iBaseNum的值。addNumbers的最后一步調用了內部函數,把兩個參數和全局變量相加,并返回它們的和。這里要掌握的重要概念是doAddition函數根本不接受參數,它使用的值是從執行環境中獲取的。
12.頁面傳參問題
如: default.aspx?para1 =1¶2=2
在頁面default.aspx.cs中接收參數para1時,無論如何都是null,而para2完全正常,為啥呢?傳的值是1呀?
答案是:在para1與“=”之間多出了一個空格,請大家仔細看!
轉載于:https://www.cnblogs.com/CodingPerfectWorld/archive/2010/04/22/1718024.html
總結
以上是生活随笔為你收集整理的狗熊掰棒子之重拾棒子之JavaScript篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业邮箱价格多少钱?邮箱购买价格多少钱?
- 下一篇: 淘宝限制词维护+小技巧,优化限制词,降低