狗熊掰棒子之重拾棒子之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&para2=2

在页面default.aspx.cs中接收參數para1时,无论如何都是null,而para2完全正常,为啥呢?传的值是1呀?

答案是:在para1与“=”之间多出了一个空格,请大家仔细看!

你可能感兴趣的:(JavaScript)