3, 자 바스 크 립 트 빠 른 입문 (2)

39333 단어 JavaWeb
함수 기초
함 수 는 주로 구체 적 인 기능 코드 를 봉인 하 는 데 쓰 인 다.함 수 는 이러한 방식 으로 설명 합 니 다. 키워드 function, 함수 명, 한 그룹의 매개 변수, 그리고 괄호 에 있 는 실행 코드 입 니 다.
주의: 함수 의 형 삼 은 설명 하지 않 고 사용 합 니 다.함수 의 기본 문법 은 다음 과 같다.
function functionName(arg0, arg1, ... argN) {
  statements
}

예 를 들 면:
function sayHi(sName, sMessage) {
  alert("Hello " + sName + sMessage);
}

호출 함수: 함 수 는 그 이름 에 괄호 안의 매개 변 수 를 더 해서 호출 할 수 있 습 니 다. 만약 여러 개의 매개 변수 가 있다 면.상기의 그 함 수 를 호출 하려 면 다음 코드 를 사용 하 십시오.
sayHi("David", " Nice to meet you!")

위의 함수 sayHi () 를 호출 하면 경고 창 이 생 성 됩 니 다.
함수 의 반환 값: 반환 값 형식 이 없습니다. 함수 가 반환 값 이 필요 하 다 면 return 을 직접 사용 하면 됩 니 다. 이 함 수 는 return 연산 자 를 사용 한 후 되 돌아 올 값 만 사용 하면 됩 니 다.
function sum(iNum1, iNum2) {
  return iNum1 + iNum2;
}

설명: 함수 가 명확 한 반환 값 이 없 거나 인자 가 없 는 return 문 구 를 호출 하면 실제 반환 값 은 undefined 입 니 다.
    Function    (    ){
     
      ;
    return    ; //return      .
}
      :
        function foo() {
     
            alert("test");
        }
        function foo2( a ){
     
            alert(a);
            return; //      ,        ,             
        }
        function foo3( a, b ){
     
            alert(a + b);
        }
        function foo4( a, b ){
     
            return a + b;
        }

주의사항: 1. 유형 이 필요 없 이 형 삼 의 이름 만 쓰 면 됩 니 다.2. 설명 할 때 반환 값 형식 을 지정 할 필요 가 없습니다.return 은 있 을 수도 있 고 없 을 수도 있 습 니 다.3. javascript 의 함 수 는 다시 불 러 오 는 형식 이 없 으 며, 정 의 된 함 수 는 앞의 함 수 를 직접 덮어 씁 니 다.4. 한 함수 가 임의의 인 자 를 받 을 수 있 습 니 다.
함수 매개 변수:
    JS        Java      。           

함수 에서 arguments 변 수 를 직접 사용 할 수 있 습 니 다. arguments 는 하나의 배열 로 전 달 된 모든 인 자 를 표시 합 니 다.함수 설명 을 할 때 정 의 된 형 삼 은 arguments 배열 에 해당 하 는 위치 에 있 는 매개 변수 값 에 대응 하고 형 삼 을 쓰 는 것 은 편리 할 뿐 입 니 다.매개 변수 예제 정의:
        function foo( a, b, c ){
            ...
        }
      : 
        foo()
        foo( 1, 2 )
        foo( 1, 2, 3 )
        foo( 1, 3, 5, 7, 9 )
        foo( "aa", null, "cc" )
    
                  ,             。    !
     :
        function sum(){ alert("11"); }
        function sum(a,b){ alert("22"); }
            sum(),      “22”。

요약 특징:
   1、  function       。
   2、          。
   3、         ,     。
   4、           ,        function  。
   5、       var   。
   6、                            。
   7、JavaScript           。 
   8、                 。Javascript       。

작은 사례: 입력 상자 가 입력 한 달 을 정의 하고 이 달 에 대응 하 는 일 수 를 출력 합 니 다.
<html>
    <head>
        <title>  JavaScripttitle>
    head>
    <body><input type="text" id="month">
        <input type="button" value="    " onclick="foo()">
        
        <script type="text/javascript">
            function foo(){
      
                var monthValue = document.getElementById("month").value;
                //       ,       
                if( isNaN(monthValue) ){
                    alert("        !");
                    return;
                }
                //     
                monthValue = parseInt(monthValue);
                //     
                if( monthValue < 1 || monthValue > 12){
                    alert("        (1--12)!");
                    return;
                }
                //         
                switch(monthValue){ //           ,     
                    case 2:
                        alert("28 ");
                        break;
                    case 4:
                    case 6:
                    case 9:
                    case 11:
                        alert("30 ");
                        break;
                    default:
                        alert("31 ");
                        break;
                }
            }
        script>
    body>
html>

대상 을 향 하 다
자 바스 크 립 트 가 대상 을 대상 으로 하 는 스 크 립 트 언어 입 니 다. 개발 자가 개발 할 때 대상 을 찾 아야 합 니 다. 기본적으로 내 장 된 대상 을 제공 합 니 다.개발 자의 요구 에 따라 스스로 대상 을 정의 할 수도 있다.
기본 형식 값 을 조작 하기 편리 하도록 ECMAScript 는 3 개의 특수 한 인용 유형 을 제공 합 니 다: Boolean, Number, String.그것들 은 인용 유형 이다.기본 데이터 형식 을 읽 을 때 배경 에 해당 하 는 기본 포장 대상 을 만 들 기 때문에 우 리 는 기본 데이터 형식 을 조작 할 때 직접 방법 을 호출 할 수 있 습 니 다.
String:
//        String   
var b = new String("java");
var c = new String("java");
document.write(b + "," + c);
document.write(b == c);
//false
//           
document.write(b.valueOf() == c.valueOf());

//  
var a = "helloworld";
document.write(a.length);

흔히 볼 수 있 는 방법:
Anchor()     
Blink()        blink   
charAt()                。
charCodeAt()      ,           Unicode   。
Concat()         ,                    。
Fontcolor()      COLOR       HTML        String         
indexOf()       String                  
italics()      HTML        String         。 
Link()              HREF     HTML       String         。
Replace()                             
Split()             
Substr()           
toUpperCase()     
toLowerCase       
//  
document.write("   ".anchor("ch1"));
document.write("   ".blink());
//            。
document.write("   ".charAt(0));
document.write("a".charCodeAt(0));
document.write("   ".concat("abc"));
document.write("   ".fontcolor("#ff0000"));
document.write("   ".indexOf(" "));
document.write("   ".italics());
document.write("   ".link());
document.write("helloworld".replace(/l/g, "L"));
document.write("
"
); var names = "jack-lili-lucy".split("-"); for (var temp in names) { document.write(names[temp] + "
"
); } document.write("
"
); document.write("helloworld".substr(1, 2)); //el document.write("helloworld".substring(1, 2));//e document.write("helloworld".toUpperCase()); document.write(new String("java").toString() == new String("java").toString());

Number:
//  number  
var a = 12;
var b = new Number(12);
document.write(a + ":" + b);
//    true
document.write(a == b);
//    false
document.write(a === b);
//false
document.write(new Number(12) == new Number(12));
//false
document.write(new Number(12) === new Number(12));
//true
document.write(new Number(12).valueOf() == new Number(12).valueOf());
//true
document.write(new Number(12).valueOf() === new Number(12).valueOf());

  :
document.write("   " + Number.MAX_VALUE + "");
document.write("   " + Number.MIN_VALUE + "");

  
//  
document.write(new Number(12).toString(10) + "
"
); document.write(new Number(12).toString(2) + "
"
); document.write(new Number(12).toString(8) + "
"
); document.write(new Number(12).toString(16) + "
"
); document.write(new Number(12.12345) + "
"
); document.write(new Number(12.12345).toFixed() + "
"
); document.write(new Number(12.12345).toFixed(2) + "
"
); document.write(new Number(12.12345).toFixed(3) + "
"
); // :toFixed() 。

Math: 방법: abs, acos, asin, atan, atan 2, ceil, cos, exp, floor, log, max, min, pow, random, round, sin, sqrt, tan
document.write(Math.ceil(12.34) + "
"
); //13 document.write(Math.floor(12.34) + "
"
); //12 document.write(Math.round(12.54) + "
"
); //13 document.write(Math.round(12.35) + "
"
); //12 document.write(Math.random() + "
"
); //0~1 document.write(Math.max(12, 100, -1, 200, 320, 500) + ""); document.write(Math.min(12, 100, -1, 200, 320, 500) + "");

Date:
function showDate() {
    //      
    var date = new Date();
    //          
    var str = date.getFullYear() + " " + (date.getMonth() + 1) + " " + date.getDate() + " " + "  " + date.getDay() + " " + date.getHours() + " " + date.getMinutes() + " " + date.getMinutes() + " " + date.getSeconds() + " "
    //              span    
    var span = document.getElementById("mydate");
    // span         
    span.innerHTML = str.fontcolor("red");
    //      
    window.setTimeout("showDate()", 1000);
}

//    
showDate();

배열: 배열 정의: 배열 을 만 드 는 기본 방식 은 두 가지 가 있 습 니 다.
      Array     
     
        var arrs=new Array();
                     ,               
    
        var arrs=new Array(20);
            20   ,         undefined
    
        var arrs=new Array("hello");           .

     
    
              3       
        var arrs=["aa","bb","cc"];
               
        var arrs=[];
        var values=[1,2];
     
    var arrs=["aa","bb","cc"];
    color[2]="xx";//   3 

    :
    for(var i = 0; i < arr.length; i++){
        alert(arr[i]);
    }   
     
    for( var i in arr ){
        // i            , 0  ,       。
        //        ,      ,             。
        alert(arr[i]);
    }

메모: JS 배열 은 동적 으로 증가 할 수 있 습 니 다.
//         ,  :               
var arr = new Array();
arr[0] = "aa";2
arr[1] = "bb";
arr[6] = 'xx';
document.write(arr + "
"
); // for (var i = 0; i < arr.length; i++) { document.write(arr[i]+"
"
); } // : var arr = ["aa", "bb"]; document.write(arr[200]); // undefined

일반적인 방법 Array 의 방법:
    sort()
                 ,            Array  。
               ,             。
    reverse()
                   ,             Array   。 
               ,             。

    push( [item1 [item2 [. . . [itemN ]]]] )
                        。
                 ,                  。
    pop()
                          。
               ,      undefined。
    shift()
                         。
               ,      undefined。
    unshift([item1[, item2 [, . . . [, itemN]]]])
                            。

    splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
            start             ,      ,              concat([item1[, item2[, . . . [, itemN]]]])
               ,                   。     。
             (item1 … itemN)               。    
                ,         array1    。
                 ,                    。     
    slice(start, [end]) 
                         。
                 start   end   。
             。
    join(separator)
                               ,        。
                        null,          。
var a = [1, 2, 3];
//            ,     。
document.write(a.concat([100, 30]) + "
"
); document.write(a.concat([100, 30], [60, 90]) + "
"
); // 。 。 var b = a.join("$"); document.write(b + "
"
); document.write( typeof b + "
"
); //string // document.write(a.pop() + "
"
); // , 。 document.write(a.push(99, 78) + "
"
); // , 。 document.write(a.toString() + "
"
); // var c = a.valueOf(); document.write( typeof c + "
"
); // : var a = [100, 9, 20, 3, 7, 96]; document.write(a + "
"
); // , a.sort(); document.write(a + "
"
); // a.sort(compareTo); document.write(a + "
"
); function compareTo(a, b) { return a - b; }

사용자 정의 개체
function Person() {
    window.document.write("constructor()
"
); } var person = new Person(); // person.name = "jack"; person.age = 23; // person.work = function() { window.document.write("person working...
"
); }; // window.document.write(person.constructor + "
"
); window.document.write(person.name + "," + person.age + "
"
); person.work();

구조 함수
function Person(name, age) {
     
    this.name = name;
    this.age = age;
    this.work = function() {
     
        alert(this.name + ":" + this.age);
    }
}

var person = new Person("jack", 28);
person.work();

Object 방식:
var person = new Object();
person.name = "jack";
person.age = 28;
person.sayHello = function() {
     
    document.write(this.name + ":" + this.age);
}
person.sayHello();

이 예 는 person 이라는 대상 을 만 들 고 속성 (name age) 2 개 와 방법 (sayHello) 을 추가 합 니 다.
구조 함수 모드 로 대상 만 들 기:
     ,                。
   new          。
(    ,    new      ,           )

  :
             this,            ,   var str          。
       new Object()。
       return  。

JS new Person()     :
    1,       。
    2,this     。
    3,          。
    4,     。

글자 크기:
var person={
    name:"  ",
    age:88,
    eat:function(){
     
        alert("eating...");
    }
};
alert(person.name+person.age);
person.eat();

prototype "prototype" 글자 번역 은 "원형" 이 며, 자바 script 이 계승 을 실현 하 는 주요 수단 입 니 다.대충 말 하면 prototype 은 javascript 의 함수 (function) 의 보존 속성 이 고 그 값 은 대상 입 니 다 (우 리 는 이 대상 을 'prototype 대상' 이 라 고 부 를 수 있 습 니 다).Prototype 에서 주의 할 세부 사항:
  • prototype 은 함수 (function) 의 필수 속성 입 니 다.
  • prototype 의 값 은 하나의 대상
  • 함수 의 prototype 속성 값 을 임의로 수정 할 수 있 습 니 다.
  • 한 대상 은 이 대상 의 구조 함수 인 prototype 의 구성원 속성 과 방법 을 자동 으로 가지 게 됩 니 다.

  • 사례: 배열 도구 클래스 정의:
    function arrTool(){}
    var ArrayTool  = new arrTool();
    ArrayTool.getMax = function(arr)
    {
        var max = 0;
    
        for(var x=1; xif(arr[x]>arr[max])
                max = x;
        }
        return arr[max];
    };
    ArrayTool.getMin = function(arr)
    {
        var min = arr[0];
    
        for(var x=1; xif(arr[x]return min;
    }
    /*
    ArrayTool.getMax = getMax;
    //    。
    function getMax(arr)
    {
        var max = 0;
    
        for(var x=1; xif(arr[x]>arr[max])
                max = x;
        }
        return arr[max];
    }
    */
    ArrayTool.binarySearch = function(arr,key)
    {
        var min,max,mid;
    
        min = 0;
        max = arr.length-1;
    
        while(min<=max)
        {
            mid  = (min+max)>>1;
    
            if(key>arr[mid])
                min = mid + 1;
            else if(key1;
            else
                return mid;
        }
        return -1;
    }
    /*
    ArrayTool.binarySearch = halfSearch;
    //    ,         。
    function halfSearch(arr,key)
    {
        var min,max,mid;
    
        min = 0;
        max = arr.length-1;
    
        while(min<=max)
        {
            mid  = (min+max)>>1;
    
            if(key>arr[mid])
                min = mid + 1;
            else if(key1;
            else
                return mid;
        }
        return -1;
    }
    

    자바 script 내 장 된 대상 Array 에 배열 의 도구 방법 을 추가 합 니 다.
    Array.prototype.getIndex = function(element)
    {
         
        for(var x=0; x<this.length; x++)
        {
            if(this[x]==element)
                return x;
        }
        return -1;
    }
    Array.prototype.getMin = function()
    {
         
        var min = this[0];
        for(var x=1; x<this.length;x++)
        {
            if(this[x]this[x];
        }
        return min;
    }
    

    문자열 에 새로운 방법 을 추가 합 니 다.
    // JavaScript Document
    //    string       。
    //          。
    String.prototype.trim = function()
    {
         
        var start,end;
        start = 0;
        end = this.length-1;
    
        while(start<=end && this.charAt(start)==" ")
            start++;
    
        while(start<=end && this.charAt(end)==' ')
            end--;
    
        return this.substring(start,end+1);
    }
    
    //        。
    String.prototype.toCharArray = function()
    {
         
        var arr = new Array(this.length);
    
        for(var x=0; x<this.length; x++)
        {
            arr[x] = this.charAt(x);    
        }
    
        return arr;
    }
    //        。
    String.prototype.reverseString = function()
    {
         
        var arr = this.toCharArray();   
    
        return arr.reverse().join("");
    }
    

    좋은 웹페이지 즐겨찾기