데이터 베이스 MySQL 튜토리얼 JavaScript精粹读书笔记(2)

JavaScript精粹读书笔记(2)

Jun 07, 2016 pm 03:38 PM
javascript 좋은 메모 읽다

如果你想加我为好友:请点击以下链接http://hi.csdn.net/invite.php?u=8943c=759c7fc189ea23c1 第2章 语法 本章介绍 JavaScript 的精华部分的语法,并简要地概述其语言结构。 2.1 空白 空白可能表现为格式化字符或注释的形式。空白通常没有意义,但是偶尔须

如果你想加我为好友:请点击以下链接http://hi.csdn.net/invite.php?u=8943&c=759c7fc189ea23c1

 

第2章      语法

本章介绍JavaScript的精华部分的语法,并简要地概述其语言结构。

2.1     空白

空白可能表现为格式化字符或注释的形式。空白通常没有意义,但是偶尔须要用它来分隔字符序列,否则它们就会被合并成一个单一的符号。例如,对如下代码来说:

var that = this;

varthat之间的空格是不能被移除的,但是其他的空格都可以被移除。

JavaScript提供两种注释形式,一种是用/* */包围的块注释,另一种是以//为开头的行注释。注释应该被充分地用来提高程序的可读性。必须注意的是,注释一定要精确地描述代码。没有用的注释比没有注释更糟糕。

/* */包围的块注释形式来自于一门叫PL/I默然说话:Programming Language One的简写。当中的“I”其实是罗马数字的“一”,它是一种IBM公司在19世纪50年代发明的第三代高级编程语言)的语言。在JavaScript中,*/可能出现在正则表达式字面上,所以块注释对于被注释的代码块来说是不安全的。例如:

/*

       var rm_a = /a*/.match(s);

*/

导致了一个语法错误。所以,我建议避免使用/* */注释,而用//注释代替它。

2.2     标识符

标识符由一个字母开头,其后可选择性地加上一个或多个字母数字或下划线。标识符不能使用下面这些保留字:

abstract

boolean break byte

case catch char class const continue

debugger default delete do double

else enum export extends

false final finally float for function

goto

if implements import in instanceof int interface

long

native new null

package private protected public

return

short static super switch synchronized

this throw throws transient true try typeof

var volatile void

while with

在这个列表中的大部分保留字尚未用在这门语言中。这个列表不包括一些本应该被保留而没有保留的字,诸如undefinedNaNInfinityJavaScript不允许使用保留字来命名变量或参数。更糟糕的是,JavaScript不允许在对象字面量中,或者在一个属性存取表达式的点号之后,使用保留字作为对象的属性名。

标识符被用于语句、变量、参数、属性名、运算符和标记。

2.3     数字

JavaScript只有一个单一的数字类型。它在内部被表示为64位的浮点数,和Javadouble一样。在JavaScript中,11.0是相同的值。

如果一个数字字面量有指数部分,那么这个字面量的值是由e之前的部分乘以10e之后部分的次方计算出来的。所以1001e2是相同的数字。

负数可以用前缀运算符-来构成。

NaN是一个数值,它表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它自己。你可以用函数isNaN(number)检测NaN

Infinity表示所有大于1.79769313486231570e+308的值。

数字拥有方法(参见第8章)。JavaScript有一个对象Math,它包含一套作用于数字的方法。例如,可以用Math.floor(number)方法将一个数字转换成一个整数。

2.4     字符串

字符串字面量可以被包围在单引号或双引号中,它可能包含0个或多个字符。/是转义字符。JavaScript在被创建的时候,Unicode是一个16位的字符集,所以JavaScript中的所有字符都是16位的。

JavaScript没有字符类型。要表示一个字符,只须创建仅包含一个字符的字符串即可。

转义字符允许把那些正常情况下不被允许的字符插入到字符串中,比如反斜线、引号和控制字符。/u约定允许指定用数字表示的字符码位。

“A”===”/u0041”

字符串有一个ength属性。例如,”seven”.length5

字符串是不可变的。一旦字符串被创建,就永远无法改变它。但通过+运算符去连接其他的字符串从而得到一个新字符串是很容易的。两个包含着完全相同的字符且字符顺序也相同的字符串被认为是相同的字符串。所以:

‘c’+’a’+’t’ === ‘cat’

true

字符串有一些方法(参见第8章)。

2.5     语句

一个编译单元包含一组可执行的语句。在web浏览器中,每个<script></script>JavaScript把它们一起抛入一个公共的全局命名空间中。附录A有更多关于全局变量的内容。

var语句被用在函数的内部时,它定义了这个函数的私有变量。

switchwhilefordolabel),它配合break语句来使用。

语句往往按照从上到下的顺序被执行。JavaScript可以通过条件语句(ifswitch)、循环语句(whilefordo)、强制跳转语句(breakreturnthrow)和函数调用来改变这个执行序列。

代码块是包在一对花括号中的一组语句。不像许多其他的语言,JavaScript中的代码块不会创建一个新的作用域,因此变量应该被定义在函数的顶端,而不是在代码块中。

if语句根据表达式的值改变程序的控制流程。如果表达式的值为真,那么执行then代码块,否则,执行可选的else分支。

下面列出的值被当作假:

fase

null

undefined

数字0

数字NaN

其他所有的值都被当作真,包括true,字符串”false”,以及所有的对象。

switch语句执行一个多路分支。它把其表达式的值和所有指定的case条件进行匹配。其表达式可能产生一个数字或字符串。当找到一个精确的匹配时,执行匹配的case从句中的语句。如果没有找到任何匹配,则执行可选的default语句。

一个case从句包含一个或多个case表达式。case表达式不一定必须是常量。为了防止继续执行下一个casecase语句后应该跟随一上强制跳转语句。你可以用break语句去退出一个switch语句。

while语句执行一个简单的循环。如果表达式值为假,那么循环将终止。而当表达式值为真时,代码块将被执行。

for语句是一个结构更复杂的循环语句。它有两种形式。

常见的形式由三个可选从句控制:初始化从句(initialization)、条件从句(condition)和增量从句(increment)。首先,;初始化从句被执行,它的作用通常是初始化循环变量。接着计算条件从句的值。典型的情况是它根据一个完成条件检测循环变量。如果条件从句被省略掉,则假定返回的条件是真。如果条件从句的值为假,那么循环将终止。否则,执行代码块,然后执行增量从句,接着循环会重复执行条件从句。

另一种形式(被称为for in语句)会枚举一个对象的所有属性名(或键名)。在每次循环中,对象的另一个属性名字符串被赋值给forin之间的变量。

通常你须通过检测object.hasOwnProperty(variable)来确定这个属性名就是该对象的成员,还是从其原型链里找到的。

for(myvar in obj){

       if(obj.hasOwnProperty(myvar)){

             

       }

}

do语句就像while语句,唯一的区别是它在代码块执行之后而不是之前检测表达式的值。这就意味着代码块将总是要执行至少一次。

try语句执行一个代码块,并捕获该代码块抛出的任何异常。catch从句定义了一个新的变量,它将接收该异常对象。

throw语句抛出一个异常。如果throw语句在一个try代码块中,那么控制权会跳到catch从句中。如果throw语句在函数中,则该函数调用被放弃,且控制权会跳到调用该函数的try语句的catch从句中。

throw语句中的表达式通常是一个对象字面量,它包含一个name属性和一个message属性。异常捕获器可以使用这些信息去决定该做什么。

return语句会使一人函数提前返回。它也可以指定要被返回的值。如果没有指定返回表达式,那么其返回值是undefined

JavaScript不允许在return关键字和表达式之间换行。

break语句会使程序退出一个循环语句或switch

JavaScript不允许在break

一个expression语句可以给一个或多个变量或成员赋值,或者调用一个方法,或者从对象中删除一个属性。运算符=被用于赋值。不要把它和恒等运算符===混淆。运算符+=可以用于加法运算或连接字符串。

2.6     表达式

三元运算符?有三个运算数。如果第一个运算数值为真,它产生第二个运算数的值。但是,如果第一个运算数为假,它会产生第三个运算数的值。

2-1:运算符优先级

.[]()

属性存取及函数调用

delete new typeof +-!

一元运算符

*/%

乘法、除法、取模

+-

加法/连接、减法

>=

不等式运算符

=== !==

等式运算符

&&

逻辑与

||

逻辑或

?:

三元

typeo运算符产生的值有’number’’string’’boolean’’undefined’’function’’object’。如果运算数是一个数组或null,那么结果是’object’,这是不对的。第6章和附录A将会有更多关于typeof的内容。

/运算符可能会产生一个非整数结果,即使两个运算数都是整数。

函数调用引发函数的执行。函数调用运算符是跟随在函数名后面的一对圆括号。圆括号中可能包含将会传递给这个函数的参数。第4章将会有更多关于函数的内容。

一个属性存取表达式用于指定一个对象或数组的属性或元素。下一章我将详细描述它。

2.7     字面量

对象字面量是一种方便指定新对象的表示法。属性名可以是标识符或字符串。这些名字被当作字面量名而不是变量名来对待,所以对象的属性名在编译时才能知道。属性的值就是表达式。下一章将会有更多关于对象字面量的信息。

数组字面量是一个方便指定新数组的表示法。第6章将会有更多关于数组字面量的内容。

7章将会有更多关于正则表达式的内容。

函数字面量定义了函数值。它可以有一个可选的名字,用于递归地调用自己。它可以指定一个参数列表,这些参数将作为变量由调用时传递的实际参数(arguments)初始化。函数的主体包括变量定义和语句。第4章将会有更多关于函数的内容。

如果你想加我为好友:请点击以下链接http://hi.csdn.net/invite.php?u=8943&c=759c7fc189ea23c1

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Xiaohongshu 메모를 삭제하는 방법 Xiaohongshu 메모를 삭제하는 방법 Mar 21, 2024 pm 08:12 PM

Xiaohongshu 메모를 삭제하는 방법 Xiaohongshu 앱에서 메모를 편집할 수 있습니다. 다음으로 편집기는 Xiaohongshu 메모 삭제 방법에 대한 사용자 사진과 텍스트를 가져옵니다. 보세요! Xiaohongshu 사용 튜토리얼 Xiaohongshu 메모 삭제 방법 1. 먼저 Xiaohongshu 앱을 열고 메인 페이지로 들어가서 오른쪽 하단에 있는 [Me]를 선택하여 특별 영역으로 들어갑니다. 2. 그런 다음 내 영역에서 다음과 같이 메모 페이지를 클릭합니다. 3. 노트 페이지에 들어가서 오른쪽 상단에 있는 [점 3개]를 클릭합니다. 4. 마지막으로 기능 표시줄이 하단에 확장되고 [삭제]를 클릭하여 완료합니다.

Adobe Acrobat Pro9에 그림을 삽입하는 방법 - Adobe Acrobat Pro9에 그림을 삽입하는 방법 Adobe Acrobat Pro9에 그림을 삽입하는 방법 - Adobe Acrobat Pro9에 그림을 삽입하는 방법 Mar 04, 2024 pm 11:50 PM

사무실에서도 Adobe Acrobat Pro 9 소프트웨어를 사용하고 계시나요? 그런데 Adobe Acrobat Pro 9에 그림을 삽입하는 방법을 아시나요? 아래에서 편집자가 Adobe Acrobat Pro 9에 그림을 삽입하는 방법을 알려드리겠습니다. 아래를 살펴보세요. Adobe Acrobat Pro9에서 Sample.pdf 문서를 열고 "도구" - "콘텐츠"를 클릭한 후 문서 오른쪽의 "개체 편집"을 선택하면 마우스 커서가 오른쪽 하단의 실선 화살표 + 작은 상자로 변경됩니다. 모서리. 문서의 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 이미지 삽입을 선택합니다. 대화 상자가 나타나면 대화 상자에서 ElenaGilbert.JPEG 이미지 파일을 선택하십시오(확인하십시오).

WPS Word 테이블을 중앙에 배치하는 방법 WPS Word 테이블을 중앙에 배치하는 방법 Mar 21, 2024 pm 02:21 PM

WPS에서 단어를 사용할 때 그림, 표 등을 삽입해야 하는 경우가 많은데, 삽입된 표가 중앙에 위치하지 않으면 문서 전체의 미관에 영향을 미치게 됩니다. 그렇다면 WPS 표의 중심 위치를 어떻게 설정해야 할까요? 오늘은 구체적인 조정 방법을 알려드리겠습니다. 와서 살펴보세요! 1. 사진의 표는 페이지 중앙에 있지 않아서 별로 아름답지 않습니다. 중앙에 놓이길 원합니다. 2. 먼저 표에서 마우스 오른쪽 버튼을 클릭하세요(그림 참조). 3. 그런 다음 오른쪽 클릭 메뉴에서 [모든 테이블 선택]을 클릭합니다(그림의 빨간색 화살표 참조). 4. 클릭하면 테이블이 완전히 선택됩니다(아래 그림 참조). 5. 이때 wps 텍스트의 [시작] 탭을 클릭하여 엽니다(그림의 빨간색 화살표 참조). 6시 정각

Microsoft Excel에서 셀을 분할하는 방법-Microsoft Excel에서 셀을 분할하는 방법 Microsoft Excel에서 셀을 분할하는 방법-Microsoft Excel에서 셀을 분할하는 방법 Mar 05, 2024 pm 09:31 PM

Microsoft Excel에서 셀을 분할하는 방법을 알고 계시나요? 아래에서 편집기를 통해 Microsoft Excel에서 셀을 분할하는 방법을 알려드리겠습니다. 1. 먼저 병합된 셀 Excel을 엽니다. 아래 그림과 같이 테이블. 2. 병합된 셀을 선택하고 아래 그림과 같이 상단에 아래쪽 화살표가 있는 "병합 센터" 버튼을 클릭합니다. 3. 그런 다음 아래 그림과 같이 "셀 병합 해제"를 선택하십시오. 4. 이제 아래 그림과 같이 셀이 분할된 것을 확인할 수 있습니다. 위 내용은 편집자가 알려드린 마이크로소프트 엑셀 셀 분할 방법 전체 내용입니다.

Xiaohongshu에 게시한 메모가 누락된 경우 어떻게 해야 합니까? 방금 보낸 메모를 찾을 수 없는 이유는 무엇인가요? Xiaohongshu에 게시한 메모가 누락된 경우 어떻게 해야 합니까? 방금 보낸 메모를 찾을 수 없는 이유는 무엇인가요? Mar 21, 2024 pm 09:30 PM

Xiaohongshu 사용자로서 우리 모두는 게시된 노트가 갑자기 사라지는 상황을 경험해 본 적이 있을 것입니다. 이는 의심할 여지 없이 혼란스럽고 걱정스러운 일입니다. 이런 경우, 우리는 어떻게 해야 합니까? 이번 글에서는 "샤오홍슈에서 발행한 노트가 누락된 경우 어떻게 해야 할까요?"라는 주제를 중심으로 자세한 답변을 드리겠습니다. 1. Xiaohongshu에서 발행한 노트가 누락된 경우 어떻게 해야 합니까? 첫째, 당황하지 마십시오. 메모가 누락된 경우 침착함을 유지하는 것이 중요하며 당황하지 마십시오. 이는 플랫폼 시스템 장애 또는 운영 오류로 인해 발생할 수 있습니다. 출시 기록을 확인하는 것은 쉽습니다. Xiaohongshu 앱을 열고 "나" → "게시" → "모든 출판물"을 클릭하면 자신의 출판 기록을 볼 수 있습니다. 여기에서는 이전에 게시된 메모를 쉽게 찾을 수 있습니다. 3.다시 게시합니다. 발견된 경우

Xiaomi Mi Band 8pro과 Huawei Band 8 중 어느 것이 더 낫습니까? Xiaomi Mi Band 8pro과 Huawei Band 8 중 어느 것이 더 낫습니까? Jan 01, 2024 pm 02:59 PM

많은 사용자들이 시계나 팔찌를 구매할 때 샤오미 밴드 8pro를 살지, 아니면 화웨이 밴드 8을 살지 헷갈려 합니다. 둘 사이에는 경험을 더 중시한다면 샤오미를 선택할 수도 있고, 건강 모니터링을 더 중시한다면 샤오미를 선택할 수도 있습니다. 화웨이를 선택하세요. Xiaomi Mi Band 8pro와 Huawei Band 8 중 어느 것이 더 낫습니까? 답변: 필요에 따라 다릅니다. Xiaomi Mi Band 8pro: 풍부한 스포츠 모드와 더 나은 호환성, 시계에 가까운 화면 디스플레이 및 외관을 원하는 사람들에게 적합합니다. 화웨이 밴드 8: 건강 모니터링 데이터와 무의미한 착용 경험에 더 많은 관심을 기울입니다. 물론, 샤오미 기기가 많다면 샤오미 팔찌를 우선적으로 선택해야 한다는 점도 또 다른 포인트다. 샤오미 미밴드 8P

Xiaohongshu의 노트에 제품 링크를 추가하는 방법 Xiaohongshu의 노트에 제품 링크를 추가하는 방법에 대한 튜토리얼 Xiaohongshu의 노트에 제품 링크를 추가하는 방법 Xiaohongshu의 노트에 제품 링크를 추가하는 방법에 대한 튜토리얼 Mar 12, 2024 am 10:40 AM

Xiaohongshu 노트에 제품 링크를 추가하는 방법 Xiaohongshu 앱에서는 사용자가 다양한 콘텐츠를 탐색할 수 있을 뿐만 아니라 쇼핑도 할 수 있기 때문에 이 앱에는 쇼핑 추천 및 좋은 제품 공유에 대한 콘텐츠가 많이 있습니다. 이 앱에서는 일부 쇼핑 경험을 공유하고, 협력할 판매자를 찾고, 메모에 링크를 추가하는 등의 작업도 할 수 있습니다. 이 앱은 편리할 뿐만 아니라 많은 전문가가 만들 수 있기 때문에 많은 사람들이 쇼핑에 기꺼이 이 앱을 사용합니다. 흥미로운 콘텐츠를 탐색하고 자신에게 맞는 의류 제품이 있는지 확인할 수 있습니다. 노트에 제품 링크를 추가하는 방법을 살펴보겠습니다. 샤오홍슈 노트에 제품 링크를 추가하는 방법 휴대폰 데스크톱에서 앱을 엽니다. 앱 홈페이지를 클릭하세요

Redmi K70에서 저장소 권한을 여는 방법은 무엇입니까? Redmi K70에서 저장소 권한을 여는 방법은 무엇입니까? Feb 23, 2024 pm 12:30 PM

홍미 K70은 많은 유저들이 사용하는 모델로, 이 휴대폰은 출시 이후 매우 좋은 평판을 유지하고 있으며, 가성비가 매우 높은 제품입니다. 물론, Redmi K70에는 비용 효율성 외에도 매우 실용적인 기능이 많이 있습니다. 그렇다면 Redmi K70에서 저장소 권한을 여는 방법은 무엇입니까? 다음으로 에디터의 소개를 부탁드립니다! Redmi K70에서 저장소 권한을 여는 방법은 무엇입니까? Redmi K70의 저장 권한을 켜려면 다음 단계를 따르십시오. 1단계: 휴대폰의 설정 애플리케이션을 엽니다. 2단계: 아래로 스크롤하여 "앱 관리" 또는 "앱 및 알림"을 ​​찾아 클릭하여 들어갑니다. 3단계: 애플리케이션 관리에서 저장 권한을 열려는 애플리케이션을 찾으세요.

See all articles