JavaScript学習ノート01(変数宣言、データタイプ)
4960 ワード
JavaScriptノート01
先週の日曜日からJavaScriptを読むつもりでしたが、今日はずっと忙しいです.JavaScriptの高級プログラムの設計という本を読み始めたばかりです.この本は前に見たことがありますので、今回は一回準備しました.何か問題があったり、注意しなければならないことがあったら記録してください.全部覚えられないです.この過程は少し長い時間がかかります.やはりjsは先端の基礎だと思います.jsはこれをマスターしました.先端がよく分かります.先端の友達に勧められて、廖雪峰先生のJavaScript教程と一緒に見るつもりです.読んでからES 6の教程を探します.あとはvueを見ることができます.実は今週は自分で先にvueを見たいです.仕事の中でいくつかの困難な点があったので、しばらく見たらやはり焦って成功を求めることができないと思います.jsの基礎をしっかり固めなければなりません.今日はTyboraを使いました.本当に使いやすいです.これからはTyboraで書いて、現地で書き終わったら、copyからgithubと略書に書きます.これは関連教程です.
1.変数の昇格
これを参照すると、変数宣言とは、変数と関数宣言が現在のスコープ
例を挙げます
2.var letの違い
この記事を参照してください varには変数が存在します.letとconstには変数が存在しません.実は最初のポイントはこれを見てから詳しく見に行きます. **letが宣言したグローバル変数は、グローバルオブジェクトの属性ではありません.**.これは、 letで変数を再定義すると文法エラーが発生します. とにかく、letはもっと完璧なvarです.これからはletだけを使って、varを使わないようにします.
ちなみにconstはJavaの中のfinalで定数を定義するのに相当しますが、jsの中のconstは定義しなければならない同時に値を賦課します.でないと、エラーが発生します.
3.グローバル変数を宣言する(推奨せず、理解のみ)
上ではなるべくletを使うと言いましたが、今読んでいるこの本はまだvarを使っています.だから私が記録したのはvarです.自分の心の中ではっきりしていればいいです.
varのスコープは関数内であり、letはコードブロック内であるが、varオペレータを省略することによってグローバル変数を宣言することができる.シンプル/基本データタイプ(5種類) Udefinedは、一つの値だけです. Nullは、一つの値だけです. . Boolean Number String 複合データタイプ(1つ) Object データタイプを検出する方法:typeof
データの種類
true
false
ボロア
true
false
String
空の文字列以外
'(空の文字列)
Number
ゼロ以外の数値
0とNaN
Object
任意のオブジェクト
null
Udefined
適用されません
undefined
NaN
Not a Number
この部分をメモしておくと、主に後でデバッグしたり、バグを見つけたりするためです.
tolocaleStering設計の目的は開発者に「同一の論理で世界各地が分かる」という方法を提供することです.呼出時に参加しないと、宿主環境言語をデフォルトにして結果を返します.ラベルのlang指定言語を使ってもいいです.このように実行する時はデフォルトで使うlangを指定します.
を表します.
今日は先にこんなに多く書きました.昼間はゲームに夢中になりました.今日は内容が少ないです.明日は続けて、再度Typeraを自慢します.本当に使いやすいです.でも、自分もゆっくりとmarkdownの文法と他のブログのレイアウトを勉強しています.結局見るのも楽です.
やはり問題が起きました.コメントの機能はgithubにかけられました.この機能が好きです.辛いです.飛んで、痛みを我慢して他のものに変えましょう.
ふと思い出したらflexのレイアウトが足りなくなりました.明日書きます.
先週の日曜日からJavaScriptを読むつもりでしたが、今日はずっと忙しいです.JavaScriptの高級プログラムの設計という本を読み始めたばかりです.この本は前に見たことがありますので、今回は一回準備しました.何か問題があったり、注意しなければならないことがあったら記録してください.全部覚えられないです.この過程は少し長い時間がかかります.やはりjsは先端の基礎だと思います.jsはこれをマスターしました.先端がよく分かります.先端の友達に勧められて、廖雪峰先生のJavaScript教程と一緒に見るつもりです.読んでからES 6の教程を探します.あとはvueを見ることができます.実は今週は自分で先にvueを見たいです.仕事の中でいくつかの困難な点があったので、しばらく見たらやはり焦って成功を求めることができないと思います.jsの基礎をしっかり固めなければなりません.今日はTyboraを使いました.本当に使いやすいです.これからはTyboraで書いて、現地で書き終わったら、copyからgithubと略書に書きます.これは関連教程です.
1.変数の昇格
これを参照すると、変数宣言とは、変数と関数宣言が現在のスコープ
, , ,
の一番上に移動され、コンパイル時にのみ変数と関数宣言が実行され、賦値は実行されません.実は上のリンクにはいくつかの例を見て分かります.その後、letとconstには変数引き上げ現象が存在しません.例を挙げます
a = 9;
var a;
console.log(a);
このコードはコンパイル時にvar a
を先に実行し、実行時にはa=9
を実行するので、結果は9
をプリントします.もう一つの詳細は、関数が変数によって後で現れる関数宣言が上書きされます.2.var letの違い
この記事を参照してください
window.
を通じてこれらの変数にアクセスできないことを意味します.ちなみにconstはJavaの中のfinalで定数を定義するのに相当しますが、jsの中のconstは定義しなければならない同時に値を賦課します.でないと、エラーが発生します.
上ではなるべくletを使うと言いましたが、今読んでいるこの本はまだvarを使っています.だから私が記録したのはvarです.自分の心の中ではっきりしていればいいです.
varのスコープは関数内であり、letはコードブロック内であるが、varオペレータを省略することによってグローバル変数を宣言することができる.
function test(){
message = "hi"; //
}
test();
alert(message); // "hi"
4.データタイプundefined
null
let message = "some string";
alert(typeof message); // string
alert(typeof(message)); // string
alert(typeof "message");// string
alert(typeof 95); // number
true/falseデータの種類
true
false
ボロア
true
false
String
空の文字列以外
'(空の文字列)
Number
ゼロ以外の数値
0とNaN
Object
任意のオブジェクト
null
Udefined
適用されません
undefined
NaN
Not a Number
alert(isNaN(NaN)); //true
alert(isNaN(10)); //false
alert(isNaN("10")); //false 10
alert(isNaN("blue")); //true
alert(isNaN(true)); //true 1
Objectのインスタンスが持つ方法と属性この部分をメモしておくと、主に後でデバッグしたり、バグを見つけたりするためです.
constructor
:構造関数hasOwnProperty(propertyName)
:与えられた属性が現在のオブジェクトインスタンスに存在するかどうかを検出する.eg:o.hasOwnProperty("name")
isPrototypeOf(Object)
:着信したオブジェクトが現在のオブジェクトかどうかを検出するためのプロトタイプ ,
propertyIsEnumerable(propertyName)
:与えられた属性がfor-in
文を使ってエニュメレーションされるかどうかを検出するためのtoLocaleString()
:返却対象は、実行環境の領域に対応する文字列表現である.tolocaleStering設計の目的は開発者に「同一の論理で世界各地が分かる」という方法を提供することです.呼出時に参加しないと、宿主環境言語をデフォルトにして結果を返します.ラベルのlang指定言語を使ってもいいです.このように実行する時はデフォルトで使うlangを指定します.
toString()
:戻り対象の文字列表現valueOf()
:返却対象の文字列、数値またはブール値は今日は先にこんなに多く書きました.昼間はゲームに夢中になりました.今日は内容が少ないです.明日は続けて、再度Typeraを自慢します.本当に使いやすいです.でも、自分もゆっくりとmarkdownの文法と他のブログのレイアウトを勉強しています.結局見るのも楽です.
やはり問題が起きました.コメントの機能はgithubにかけられました.この機能が好きです.辛いです.飛んで、痛みを我慢して他のものに変えましょう.
ふと思い出したらflexのレイアウトが足りなくなりました.明日書きます.