>웹 프론트엔드 >JS 튜토리얼 >자바스크립트 중급 노트 2장_자바스크립트 기술

자바스크립트 중급 노트 2장_자바스크립트 기술

WBOY
WBOY원래의
2016-05-16 18:46:35947검색
1, 참조
참조는 객체의 실제 위치에 대한 포인터입니다. 다음의 따옴표 사용 예를 살펴보세요.

[Ctrl A 모두 선택 참고: 외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다.
]

In 이 예에서는 두 개체가 모두 동일한 개체를 가리킵니다. 한 개체의 속성 내용이 수정되면 다른 개체에도 영향을 미칩니다.
또 다른 예를 살펴보겠습니다. 이번에는 참조를 설명하기 위해 배열을 사용합니다.

[Ctrl A 모두 선택 참고:
외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다.
]
arr이 재정의된 후 다음 코드에 표시된 것처럼 참조는 동일한 객체가 아닙니다.
[Ctrl A 모두 선택 참고:
외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다.
]


[Ctrl A 모두 선택 참고:
외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다.
]
As 이 예에 표시된 것처럼 문자열 작업을 수행할 때 결과는 항상 문자열의 수정된 버전이 아니라 새 문자열 개체입니다. '고급 JavaScript 프로그래밍'이라는 책을 읽어 보셨는지 모르겠습니다. 직설적으로 말하면 참고용입니다. 관심있으신 분들은 가서 구경하셔도 좋을 것 같아요.
JavaScript는 다른 개체에 대한 일련의 참조를 유지 관리하는 언어로, 참조를 통해 프로그램에 큰 유연성을 제공할 수 있습니다.

2. 함수 오버로딩

함수 오버로딩의 특징은 전달된 매개변수의 개수나 유형에 따라 함수를 오버로드하여 다른 기능을 발휘하는 것입니다. 이는 두 가지 사항에 의존해야 합니다. 하나는 들어오는 매개변수의 수를 결정하는 것이고, 다른 하나는 들어오는 매개변수의 유형을 결정하는 것입니다.
2-1, 전달되는 매개변수 개수 결정인수를 통해 이 의사 배열을 얻을 수 있습니다. 아래와 같이:


[Ctrl A 모두 선택 참고:
외부 J를 도입해야 하는 경우
인수를 실행하려면 새로 고쳐야 합니다. 매우 유용한 내용입니다. 임의 개수의 인수를 배열로 변환하는 아래 함수를 살펴보세요.
[Ctrl A 모두 선택 참고: 외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다 ]
2-2,判断传入参数的类型
第一种判断类型的方式:
判断类型需要用到JavaScript中另一个操作符——typeof。 它用来表达变量内容的类型,返回的是字符串。比如如果一个变量是字符串,那么typeof后,则返回( "string" )。
经常我们会用到如下判断:
复制代码 代码如下:

if( typeof num == "string" ){
num = parseInt( num );//如果是一个字符串,则把字符串解析出整数
}
if( typeof arr== "string" ){
arr= arr.split(",");//如果是一个字符串,则根据逗号来分割成数组
}

例如把前面的makeArr()函数改成只能接受字符串类型的参数,代码如下:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

最终结果 a.length 为2,因为后面2个参数是number 类型。
第二种判断类型的方式:
此方法需要引用所有JavaScript对象都带有的一个属性,构造函数——constructor。这一属性引用的是原本用来构造该对象的那个函数。
复制代码 代码如下:

if( num.constructor == String ){
num = parseInt( num );//如果是一个字符串,则把字符串解析出整数
}
if( arr.constructor == String ){
arr= arr.split(",");//如果是一个字符串,则根据逗号来分割成数组
}
if( newArr.constructor == Array ){
newArr = newArr.join(",");//如果是一个数组,则根据逗号来组成字符串
}

执行constructor后的结果是一个对象,而执行typeof后的结果是一个字符串。看下表的对比:
变量 typeof 变量 变量.constructor
{a:"b"} "object" Object
["a","b"] "object" Array
function(){} "function" Function
"a" "string" String
66 "number" Number
true "boolean" Boolean
new User() "object" User
 
    通过对传入参数的数量和类型的判断,那么函数重载也就简单了。
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.