国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JavaScript--1.基本概念

haoguo / 3294人閱讀

摘要:布爾類型的數據類型轉換在中,可以將所有的數據類型的值轉換為布爾類型的值。

語法 區分大小寫
`JavaScript`中的變量、函數名都是區分大小寫的,`name`,`Name`,`NAME`,不是同一個變量
標識符
標識符就是變量、函數、屬性的名字或者函數的參數
注釋
注釋就是不被計作程序語句,專門用來給程序員自己看的內容
//單行注釋
/*
* 多行注釋
*
*/
變量
變量就是一個用來存儲數據的,聲明變量用`var`
//聲明一個變量,名字叫name
var name;

如果要定義多個變量,有兩種方式可以定義:

//方式一:分開定義
var name;
var age;
var sex;
//方式二:統一定義
var name,age,sex;
給變量賦值
//變量可以在聲明的時候賦值
var name = "John";
//也可以聲明以后再賦值
var name;
name = "John"; //這里的變量值也可以是"John",單引號和雙引號都表示字符串
//賦值以后可以修改變量的值
// 方法一
var name = "John";
name = "Tome";
console.log(name);//Tome
//方法二
var name;
name = "John";
name = "Tome";
console.log(name)//Tome
變量的作用域
function demo(){
    var name = "John";
}
demo();//調用函數--在函數名后面加括號`()`表示執行該函數
console.log(name);//錯誤

在上面這段代碼中,在函數內部定義了一個局部變量,局部變量在函數運行結束以后就會被銷毀,此時在函數外面調用name變量的時候,name這個變量并不存在

function demo(){
    name = "John";//全局變量
}
demo();
console.log(name); //John

上面這段代碼中在函數內聲明了一個變量,但是并沒有用var聲明,此時當函數運行過后,name就是一個全局變量,那么函數運行結束以后,這個變量并沒有被銷毀,所以在函數體外部依然可以找到name這個變量

前文中提到的全局變量、局部變量、函數體等知識點雖然沒有學過,但是可以提前理解一下,后面會做詳細介紹
另外,雖然省略var操作符可以定義全局變量,但是不推薦這樣做,因為在局部中定義全局變量難以維護
數據類型

在javaScript中有5種數據類型(基本數據類型):Undefined,Null,Boolean,Number,String
Object也是一種數據類型,但是是復雜數據類型,Object本質上是由一對健值對組成。

typeof操作符

typeof用來檢測數據類型,返回的結果有:

"undefined"---未定義

"boolean"---布爾類型

"string"---字符串

"number"---數字類型

"object"---對象或者是null

function`---函數類型的數據

typeof null會返回object,這是因為特殊值null被認為是一個空對象
// undefined
var name;
console.log(typeof name); //var定義,結果是string,let定義是undefined
// let,ECMAScript6中定義數據的關鍵字
// boolean
var flag = true;
console.log(typeof flag); //boolean
// string
var name = "Json";
console.log(typeof name); //string
// object
var obj = {
    "name": "Json",
    "age": 20
};
console.log(typeof obj); //object
// function
function add(a,b) {
    return a + b;
}
console.log(typeof add);//function
Undefined類型

Undefined只有一個值,即undefined。對于聲明了但是沒有初始化的變量,其值就是一個undefined

var name;
console.log(name == undefined);// true
// 這個例子類似于
var name = undefined;
console(name == undefined);// true
Null類型

Null類型是一個只有一個值的數據類型,這個值是null

var person = null;
console.log(typeof person);// object

這里給person賦值為null,表示person是一個空指針的變量,將來指向一個對象。
所以如果要定義一個變量,將來用于保存對象,那么賦初始值的時候要賦值為null。比如下面這個例子:

var person = null;
if(person == null){
    person = {
        "name":"Jerry",
        "age":20
    }
}
Boolean類型

Boolean有兩個字面值:truefalse

var flag = true;
var isSuccess = false;

布爾類型的數據類型轉換

JavaScript中,可以將所有的數據類型的值轉換為布爾類型的值。轉換方法如下:

var name = "Json";
var nameBoolean = Boolean(name);
console.log(nameBoolean);//true

轉換規則:

String類型,非空為true,空為false

Number類型,非0為true,0和NaNfalse

Object類型,任何對象為truenullfalse

比如我們可以用字符串的非空作為判斷的條件:

var message = "Please send me latter";
if(message){
    send(message);
}
function send(mes){
    console.log("發送消息---消息內容為"+mes);
}
Number類型

關于Number類型的數據,我們不去研究八進制、十六進制,這些類型的數據會給我們的學習帶來不小的負擔,另外數值的范圍我們也不去研究。

數值轉換

關于數值轉換,需要學習三個函數:Number()parseInt()parseFloat()

Number():用于將任何數據類型轉換為數值類型的數據;

parseInt():將字符串類型的數字轉換為int類型的數據;

parseFloat:將字符串類型的數據轉換為float類型的數據。

Number():

如果是Boolean類型的數據,true被轉換為1,false被轉換為0;

如果是數字,只是簡單的傳入和返回;

如果是null,返回0;

如果是undefined返回的是NaN

如果是字符串

如果是"123",返回123,如果是"0123"返回的是123;

如果是十六進制的數據,則會返回對應的十進制的值;

如果是空字符串,則返回0

var number1 = Number("John");//NaN
var number2 = Number("");//0
var number3 = Number("090");//90
var number4 = Number(true);//1
var number5 = Number(false);//0
var number8 = 12+"number";//NaN

parseInt():

var number = parseInt("070");//56

前面的Number()則是將"070"轉換成了70,而parseInt()則是將070轉換成了56,這是因為parseInt()函數將"070"當作是八進制的一個數值進行轉換
為了消除這種困惑,在parseInt()函數中還有另一個參數作為補充,第二個參數可以指定被轉換值按照什么類型的值去轉換:
var num1 = parseInt("10", 2);//2 (按二進制解析)
var num2 = parseInt("10", 8);//8 (按八進制解析)
var num3 = parseInt("10", 10);//10(按十進制解析)
var num4 = parseInt("10", 16);//16(按十六進制解析)

parseFloat()parseInt()類似,是從第一個字符開始解析,解析到字符串末尾或者遇到第二個小數點為止,比如’12.34.32’解析的結果就是12.34

下面的例子中,標記有(了解)的可以不做重點關注:

var num1 = parseFloat("1234blue");//1234 (整數) 
var num2 = parseFloat("0xA"); //0 (了解)
var num3 = parseFloat("22.5");//22.5 
var num4 = parseFloat("22.34.5");//22.34
var num5 = parseFloat("0908.5"); //908.5
var num6 = parseFloat("3.125e7"); //31250000 (了解)
String類型

String類型的數據,簡單來說,就是由雙引號("")和單引號("")包裹起來的都是String類型的數據。
在這里,單引號和雙引號都可以用來表示字符串,要注意一點,引號要對稱:

String name = "Jhon";//前后引號不一致,錯誤
字符串的拼接
String name = "Tom";
String subString = "name:"+ name;
// 如果是數字類型的數據和字符串拼接,那么會默認將數字轉換成字符串,然后拼接
String stringNumber = 1 + "string";
字符串轉換

toString()方法

toString()默認是以十進制的方式去轉換的,但是我們可以通過添加參數來規定轉換的方式

var num = 10;

console.log(num.toString());// "10"--十進制

console.log(num.toString(2));// "1010"---二進制

console.log(num.toString(8));// "12"---八進制

console.log(num.toString(10));// "10"---十進制

console.log(num.toString(16));// "a"---十六進制

String()方法

String()方法的轉換規則與toString()方法基本類似,這是因為它的轉換規則:

如果被轉換的值有toString()方法,就調用toString()方法;

如果被轉換值是null,返回null

如果被轉換值是undefined,返回undefined

var value1 = 30;

var value2 = null;

var value3 = undefined;

console.log(String(value1));//"30"

console.log(String(value2));//"null"

console.log(String(value3));//"undefined"
Object類型

Object類型的數據其實就是一對健值對,健值對就是一個屬性對應一個值,對象的創建方式可以有兩種,一種是用關鍵字new創建,一種是用花括號創建:

第一種

var obj = new Object();//創建一個對象
// 給對象添加屬性和值
obj.name = "Tom";
obj.age = 20;
// 取對象中的值
console.log(obj.name);// "Tom"
console.log(obj.age);// 20

第二種

var obj = {
    "name": "Tom",
    "age": 20
}
// 這里是兩種取值方式
console.log(obj.name); //"Tom"
console.log(obj.age); //20
console.log(obj["name"]); //"Tom"
console.log(obj["age"]); //20

下面的這些知識點可以作為了解,后面會細講

Object 的每個實例都具有下列屬性和方法:

constructor:保存著用于創建當前對象的函數。構造函數(constructor) 就是 Object()

hasOwnProperty(propertyName):檢查給定的屬性在當前對象實例中(而不是在實例 的原型中)是否存在。其中,作為參數的屬性名(propertyName)必須以字符串形式指定(例 如:o.hasOwnProperty("name"));

isPrototypeOf(object):用于檢查傳入的對象是否是傳入對象的原型;

propertyIsEnumerable(propertyName):用于檢查給定的屬性是否能夠使用 for-in 語句來枚舉。與 hasOwnProperty()方法一樣,作為參數的屬性名必須以字符串形式指定;

toLocaleString():返回對象的字符串表示,該字符串與執行環境的地區對應;

toString():返回對象的字符串表示;

valueOf():返回對象的字符串、數值或布爾值表示。通常與 toString()方法的返回值相同。

參考文獻:
《JavaScript高級程序設計》

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/106897.html

相關文章

  • Awe JavaScript [1] 基本概念

    摘要:年,以為藍本的建議被提交給了歐洲計算機制造商協會,。而且給未經聲明的變量賦值在嚴格模式下會導致拋出的錯誤。這也正是使用操作符檢測值時會返回的原因。函數檢查過程是。但是這個轉換過程會導致特殊的和值應用位操作時,這兩個值會被當成來處理。 前言 本文是 Awesome JavaScript 系列文章的第一篇,本系列文章主要為 JavaScript 的一些常見知識點,是我在 JavaScrip...

    CloudwiseAPM 評論0 收藏0
  • Awe JavaScript [1] 基本概念

    摘要:年,以為藍本的建議被提交給了歐洲計算機制造商協會,。而且給未經聲明的變量賦值在嚴格模式下會導致拋出的錯誤。這也正是使用操作符檢測值時會返回的原因。函數檢查過程是。但是這個轉換過程會導致特殊的和值應用位操作時,這兩個值會被當成來處理。 前言 本文是 Awesome JavaScript 系列文章的第一篇,本系列文章主要為 JavaScript 的一些常見知識點,是我在 JavaScrip...

    zollero 評論0 收藏0
  • Awe JavaScript [1] 基本概念

    摘要:年,以為藍本的建議被提交給了歐洲計算機制造商協會,。而且給未經聲明的變量賦值在嚴格模式下會導致拋出的錯誤。這也正是使用操作符檢測值時會返回的原因。函數檢查過程是。但是這個轉換過程會導致特殊的和值應用位操作時,這兩個值會被當成來處理。 前言 本文是 Awesome JavaScript 系列文章的第一篇,本系列文章主要為 JavaScript 的一些常見知識點,是我在 JavaScrip...

    tomato 評論0 收藏0
  • 理解javascript核心知識點

    摘要:作用域鏈的作用就是做標示符解析。事件循環還有個明顯的特點單線程。早期都是用作開發,單線程可以比較好當規避同步問題,降低了開發門檻。單線程需要解決的是效率問題,里的解決思想是異步非阻塞。 0、前言 本人在大學時非常癡迷java,認為java就是世界上最好的語言,偶爾在項目中會用到一些javascript,但基本沒放在眼里。較全面的接觸javascript是在實習的時候,通過這次的了解發現...

    laznrbfe 評論0 收藏0

發表評論

0條評論

haoguo

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<