>  기사  >  웹 프론트엔드  >  Javascript&DHTML에 대한 기본 지식

Javascript&DHTML에 대한 기본 지식

PHP中文网
PHP中文网원래의
2016-05-16 19:03:051231검색

먼저 JScript.chm 매뉴얼을 다운로드하세요. 초보자든 전문가든 매뉴얼은 필수입니다. 특히 Rhino 책을 끝까지 읽어보지 않으셨다면 이 매뉴얼은 필수입니다. 이 언어를 이해하기 위한 첫 번째 선택입니다. 아래에 언급된 대부분의 사항은 설명서에 언급되지 않거나 거의 언급되지 않을 수 있습니다.

다음 튜토리얼은 위에서 언급한 JScript.chm 매뉴얼에 대한 이해를 바탕으로 작성되었습니다. JScript.chm을 먼저 읽어보신 후, 매뉴얼을 시청하시는 것을 권장합니다. 지도 시간.

JS의 구문은 대부분의 C 계열 언어와 유사하며 차이점은 그 자체의 특성뿐입니다. 그러므로 문법의 구체적인 내용에 대해서는 더 이상 쓰지 않겠습니다. 매뉴얼을 읽어보시고 이해하시기 바랍니다.

JS의 5가지 주요 객체: 문자열, 숫자, 불리언, 객체, 함수.

JS 루프의 네 가지 유형:

for(var i=0; i<n; i++) {} 
do {} while(true); 
while(true) {} 
for (var i in collection) {}

예외 처리:

try {} catch(aVariable){}

JS 구문을 하나씩 나열하지는 않겠습니다. , 여기에 몇 가지가 있습니다. JS의 여러 주요 객체에 대한 일부 설명은 매뉴얼에 언급되지 않을 수 있습니다.

1. 문자열.
문자열이 가장 일반적으로 사용됩니다. 강제로 문자열로 변환하는 방법에는 최소한 두 가지가 있습니다.
1 문자열 커넥터 " "를 사용합니다. JS에서는 숫자가 연산이면 덧셈이고, 문자열이면 연결입니다. 예:

<script> 
var a_number = 1000 
var a_string = a_number + ""; 
</script>

2. 문자열을 사용하여 강제 변환(문자열)합니다.

<script> 
var a_number = 1000 
var a_string = String(a_number); 
</script>

여기서 한 가지 주의할 점은 위의 내용은 강제 변환이고 String 앞에 "new" 키워드가 없다는 점입니다. new 키워드를 추가하면 String 객체가 생성됩니다. 객체는 속성과 메서드를 포함할 수 있지만 문자열은 다음과 같이 비교할 수 없습니다.

<script> 
var a_number = 1000 
var a_string = String(a_number); 
a_string.property = "js"; 
alert(a_string.property) //将提示undefined 
var a_object = new String(a_number) 
a_object.property = "js"; 
alert(a_object.property) //将提示js 
</script>

따라서 new와 no new 사이에는 차이가 있습니다. 이는 Number와 Boolean의 경우에도 마찬가지이므로 앞으로는 이 변환에 대해 더 이상 언급하지 않겠습니다.

2.
여기서 우리는 변화의 문제에 대해서도 이야기합니다.
Number를 사용하여 강제로 변환하는 것 외에도parseInt 및parseFloat를 사용하여 정수 또는 부동 소수점 유형으로 변환할 수도 있습니다. 변환 후 숫자가 아닌 경우 NaN(숫자가 아님)이 반환됩니다. 이때 isNaN 함수를 사용하여 내부 구문을 확인할 수 있습니다. 그런데 이 기능을 기억해두세요.

3. 부울.
이것은 JS에서 처리하는 것이 다소 이상하기 때문에 좀 더 까다롭습니다.
JScript 매뉴얼에 나와 있는 내용 외에: "
값이 true 또는 false인 표현식. 필요한 경우 부울이 아닌 표현식도 부울 값으로 변환할 수 있지만 다음 규칙을 따라야 합니다.

문자열이 비어 있는 경우에만 모든 개체가 true로 처리됩니다.
숫자가 0인 경우에만 false로 처리됩니다. 🎜>" 또한 주의할 점은 다음과 같습니다.

우선 불리언형으로 캐스팅되기 전, 즉 참이나 거짓이 아닐 때
1. 디지털 조건부 판단에서는, 일반적으로 0, 음수, 양수 세 가지 상황이 있습니다. 0이 아닌 한 다음은 true입니다.



참고: 위 예의 조건문은 조건문을 다음과 같이 변경하면

<script> 
var a = 0; 
var b = -1; 
var c = 1; 
function assert (aVar) { 
if (aVar) alert(true); 
else alert(false); 
} 
assert(a) // false 
assert(b) // true 
assert(c) // true 
</script>


이 됩니다. 음수 매우 다른 결과입니다.

<script> 
var a = 0; 
var b = -1; 
var c = 1; 
function assert (aVar) { 
if (aVar==true) alert(true); 
else alert(false); 
} 
assert(a) // false 
assert(b) // false 
assert(c) // true 
</script>

2. 문자열에서는


도 주의해야 합니다. 참고: 위 예의 조건부 판단은 조건문을 직접 판단합니다. .조건문을

<script> 
function assert (aVar) { 
if (aVar) alert(true); 
else alert(false); 
} 
var a="undefined"; 
var b="false"; 
var c=""; 
assert(a) // true 
assert(b) // true 
assert(c) // false 
</script>


으로 바꾸면 전혀 다른 결과가 나옵니다. 그러므로 이 부분을 다룰 때에는 주의해야 합니다.

<script> 
function assert (aVar) { 
if (aVar==true) alert(true); 
else alert(false); 
} 
var a="undefined"; 
var b="false"; 
var c=""; 
assert(a) // false 
assert(b) // false 
assert(c) // false 
</script>
혹시 친구들이 보면 좀 어지러울 수도 있는데, "", 0, null, undefine만 false가 될 수 있다고 매뉴얼에 명시된 대로 어떻게 만들 수 있을까요? 최소한 두 가지 방법이 있습니다.


(1) 강제 변환:
1. 위에서 언급한 Boolean(aVar)을 사용하여 변환합니다.
2. "not 연산자"를 사용하여 변환합니다. 예를 들어 위의 예에서


는 두 개의 부정을 사용하여 aVar를 Boolean(aVar)과 동일한 부울 유형으로 변환합니다.

  <script> 
    function assert (aVar) { 
    if (!!aVar==true) alert(true); 
    else alert(false); 
    } 
    var a="undefined"; 
    var b="false"; 
    var c=""; 
    assert(a) // true 
    assert(b) // true 
    assert(c) // false 
    </script>
(2), 합동 연산자.

항등 연산자는 3개의 같음 "==="로 위에서 말한 것과는 다릅니다. 동일한 유형의 비교만 수행합니다. 위의 예에서 언급했듯이 true와 false만 비교하며, 문자열이나 숫자와 비교하면 둘 다 false입니다. 예:



4. 개체.

JS에는 객체를 생성하는 방법이 최소한 다음 두 가지가 있습니다.
<script> 
function assert (aVar) { 
if (aVar===true) alert(true); 
else alert(false); 
} 
var a="undefined"; 
var b=true; 
var c=1; 
assert(a) // false 
assert(b) // true 
assert(c) // false 
</script>

1. 위에서 언급했듯이 new 키워드를 사용합니다. 예를 들어 new Number(100), new String("string"), new Object(), new customFunction() 등이 있습니다.
이 방법은 매뉴얼에 자세히 설명되어 있으니 여기서는 자세히 다루지 않겠습니다.

2. 중괄호를 사용할 수도 있습니다. 예를 들어

var o = {  
  m1:&#39;never-online.net&#39;, 
  m2:&#39;blog&#39;  
}

这种方法就比较省时省力了。利用这种方法来创建对象,需要注意的就是,
每个成员后有一个":"冒号,冒号后是该成员的内容。
其次就是,成员内容后有一个逗号",",但仅最后一个成员是没有逗号的。

五、函数(Function)。
函数在JS里的作用有两个,
一是做为一个普通函数一样被调用。
二是可以做为一个"类"(class)来使用。
第一条就没有什么可说明的了,手册上说得很清楚了,第二条就简要说明一下。
上面第四点里说到对象,除了创建JS本身的对象之外,需要创建一个类的实例,那么就必须先把“类”写出来。这个类就是Function。
比如:

<script> 
function myclass() { 
  this.m1="member--m1"; 
  this.m2="member--m2"; 
} 
var o = new myclass(); 
</script>

六、关于this和new关键字。

也许有些朋友还不太清楚这个this的作用是什么。这是面向对象里所提及的内容

这里也简单说一下,this就是“自己”的意思,而上面的的“自己”,就是指myclass。
举个例子来说myclass这个类就是一个模具,模具上有一个名字(m1),还有一个螺丝(m2),而new关键字就可以理解成“生产”。那么就可以把上面的代码理解成:

(模具 myclass)function myclass() { 
(模具myclass的名字是)this.m1="member--m1" 
(模具myclass上面的螺丝是)this.m2="member--m2"; 
}

按照模具myclass的样式生产一个产品o

var o= new myclass();

这个刚出炉的产品就有模具myclass的所有特性了。当然,我们可以按照这个模具的样式生产成千上万个。

如果我们愿意,我们还可以修改一下他的属性,比如,我生产完一个产品,想把他的名字换了。我们也可以这么做

var product = new myclass(); 
product.m1 = "newProduct"

上面这样讲解,希望能清楚一些。

基本把要说的基础知识简单的说了一些,JS的基础知识其实也有很多,知道有疏忽,但是又不便多写,写多了就烦琐了,只有走一步看一步了,看看还有什么不清楚的,才能再写出来了

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.