第三章(1):基本概念(学習ノート)
3702 ワード
いかなる言語の核心も必然的にこの言語の最も基本的な動作原理を説明する.説明の内容は通常、この言語の文法、オペレータ、データ型、組み込み機能など、複雑なソリューションを構築するための基本的な概念に関連しています.
構文
ECMAScript文法はcや他のc言語を多く参考にしている.大文字と小文字javascriptのすべての変数を区別し、関数名とオペレータは大文字と小文字を区別します. 識別子識別子は、変数、関数、属性の名前、および関数のパラメータを指す.識別子の命名規則は、(1)最初の文字がアルファベット、下線または$(2)他の文字がアルファベット、下線または$(2)数値であってもよい.一般的に、識別子の命名には、アルパカの大文字と小文字のフォーマットが使用されます.たとえば、 注釈注釈は、1行注釈と複数行注釈の2種類に分けられる. 厳格モード厳格モードはJavaScriptのために異なる解析と実行モデルを定義する.厳格モードでは、ECMAScript 3の不確定な動作が処理され、いくつかの不安全な操作に対してもエラーが投げ出されます.開く方法は、スクリプトまたは関数のヘッダに「use strict」を追加することであり、javascriptは厳格モードと非厳格モードで実行されると大きく異なります.例: 文javascriptの文は、私たちが普段言っている文と同じように、あなたが表現する意味を表しています.しかし、異なるのは、javascriptの文がブラウザのjavascriptエンジンに送られ、ブラウザに何をすべきかを教えていることです.文はセミコロンで終わるか、省略することができます.ただし、括弧、角括弧、正則の先頭のスラッシュ、プラス、マイナスを先頭にするには、セミコロンを付けなければなりません.例えば、(1)符号を付けない
(2)プラス記号
だから自分でセミコロンの落とし穴を明らかにして、仕事の中でこれらの落とし穴に落ちないようにすればいいのです.分号加不加について、リンクがあることを知っています.みんなが興味を持っているのは見てもいいです.トランスファゲート
キーワードと予約語
ECMAは、制御文の開始および終了を表すために使用されるか、または特定の操作を実行するために使用される特定の用途を有するキーワードのセットを規定する.
簡単に言えば、
リストを並べて、漏れがあるかもしれません.皆さん、見てください.break do instanceof typeof case else new var catch finally return void continue for switch while debugger*function this with default if throw delete in try abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public
変数#ヘンスウ#
JAvascriptの変数は、任意のタイプのデータを保存するために使用できるばらばらなタイプです.各変数は、値を保存するために使用されるプレースホルダにすぎません.変数を定義するときにvarで宣言します.Es 6にはletとconstの2つのコマンドが追加され、変数を宣言します.変数は、初期化されていない場合、デフォルト値がundefinedであることを先に宣言できます.
var,const,letで定義した変数はその役割ドメイン内の局所変数となり,1つの関数で定義すると関数呼び出しが終了した後に破棄される.次のようになります.変数が宣言されず、直接値を割り当てると、windowプロパティにマウントされるグローバル変数として定義されます.例:
だから、変数を宣言しなければなりません.もちろん、宣言しなくてもいいです.損をしたときに言っています.へへ~
参照 javascriptプレミアムプログラム設計第3版 javascriptセミコロンの争い(尤雨渓と賀師俊の答えを見て、よく説明した)
構文
ECMAScript文法はcや他のc言語を多く参考にしている.
var getUserName = " "
var userName = ' ' //
/**
*
* @param name
*/
function getUserName(name) {
console.log(name)
}
getUserName(userName)
global = 'global'
console.log(global) // :global
"use strict"
global = 'global'
console.log(global) // :Uncaught ReferenceError: global is not defined
var fun1 = function (param) {
console.log('fun1: ', param)
return param
}
var b = fun1
(function fun2(param) {
console.log('fun2: ',param)
})
b('fun1')
// :
// fun1: function fun2(param) {
// console.log('fun2: ',param)
// }
// fun2: fun1
(2)プラス記号
var fun1 = function (param) {
console.log('fun1: ', param)
return param
}
var b = fun1
;(function fun2(param) {
console.log('fun2: ',param)
})
b('fun1')
// :fun1: fun1
だから自分でセミコロンの落とし穴を明らかにして、仕事の中でこれらの落とし穴に落ちないようにすればいいのです.分号加不加について、リンクがあることを知っています.みんなが興味を持っているのは見てもいいです.トランスファゲート
キーワードと予約語
ECMAは、制御文の開始および終了を表すために使用されるか、または特定の操作を実行するために使用される特定の用途を有するキーワードのセットを規定する.
簡単に言えば、
: , ?
javascript: , 。 ?haha~~
:- - ! , , ?
javascript: , 。 ? ~~
: ~~~
リストを並べて、漏れがあるかもしれません.皆さん、見てください.break do instanceof typeof case else new var catch finally return void continue for switch while debugger*function this with default if throw delete in try abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public
変数#ヘンスウ#
JAvascriptの変数は、任意のタイプのデータを保存するために使用できるばらばらなタイプです.各変数は、値を保存するために使用されるプレースホルダにすぎません.変数を定義するときにvarで宣言します.Es 6にはletとconstの2つのコマンドが追加され、変数を宣言します.
var message
console.log(message) // : undefined
var,const,letで定義した変数はその役割ドメイン内の局所変数となり,1つの関数で定義すると関数呼び出しが終了した後に破棄される.次のようになります.
function fun1 () {
var name = 'hello'
console.log(name)
}
fun1() // : hello
console.log(' : ', name) // :
function test() {
a = 123
console.log(' : ', a)
}
test() // : :123
console.log(a) // :123
console.log(window.a) // : 123
console.log(a === window.a) // :true
だから、変数を宣言しなければなりません.もちろん、宣言しなくてもいいです.損をしたときに言っています.へへ~
参照