日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

『JavaScript』核心

發布時間:2023/12/9 javascript 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 『JavaScript』核心 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

弱類型語言

JavaScript是一種弱類型的語言。變量可以根據所賦的值改變類型。原始類型之間也可以進行類型轉換。其弱類型的物質為其帶來了極大的靈活性。

注意:原始類型使用值傳遞,復合類型使用引用傳遞。

原始類型 Key
布爾型 bool
數值型 number
字符串型 string
空類型 null
未定義類型 undefined

toString方法可以把數值或布爾值轉換為字符串。parseFloat和parseInt函數可以把字符串類型轉變為數值。雙重非『!!』可以把字符串或數值轉變為布爾值。

復合類型Key
對象 object
函數 function

prototype

JavaScript是一種基于原型的語言,所以我們可以通過對JavaScript對象的原型進行操作來達成一些目的。比如:

  • 給某個對象添加方法;
  • 給某個對象添加屬性;
  • 實現類似面向對象的功能;
  • ...

如果把JavaScript中的所有元素都當成對象來看待的話,我們可以得到一個合理的數據存儲方式:JSON。

在JavaScript內部,所有的元素都可以認為是以JSON方式進行存儲的。換言之,每一個元素都是有Key以及Value兩部分組成。所以以下給對象Anim添加方法的方式都是正確的:

// Anim Classvar Anim = function() { // ...};// Add function to AnimAnim.prototype.start = function() {};Anim.prototype.stop = function() {};// Another Way to add function to a classAnim.prototype = { start: function() { // ... }, stop: function() { // ... }};

我們還可以使用下面的方式給Anim添加方法。這一方式是將prototype.method看作是一個key,將function(name,fn)看作是一個value,然后通過給function(name,fn)傳入對應的參數來實現給Anim添加方法的目的。我們還在method中加入了return this,以此來實現鏈式調用的目的。

// Add a method to the Function object that can be used to declare methods.Function.protype.method = function(name, fn) { this.prototype[name] = fn; return this; // 鏈式調用};var Anim = function() {};Anim.method('start', function() { // ...});Anim.method('stop', function() { // ...}); // Add a method to the Function object that can be used to declare methods.Function.protype.method = function(name, fn) { this.prototype[name] = fn; return this;};var Anim = function() {};Anim.method('start', function() { // ...});Anim.method('stop', function() { // ...});

鏈式調用

Anim.method('start', function() { // ...}).method('stop', function() { // ...});

函數是一等對象

在JavaScript中,『函數』被認為是帶有可執行代碼的復合對象。也就是說,對象所擁有的,函數都擁有,且對象所能做的,函數都可以做。

主要特性:

  • 可以存儲于變量中;
  • 可以作為參數傳給其他函數;
  • 可以作為返回值從其他函數傳出;
  • 可以在運行時構造。

由于函數是一種對象,所以我們可以以如下方式來使用函數:

// Function as Object(function() { // ...})()(function(a, b) { // ... return a + b})(1, 2)

對象的易變性

在JavaScript中,所有的元素都可以被當成是對象,而且JavaScript中,所有的對象都是易變的。

我們可以使用如下的方式在程序運行時給JavaScript對象屬性:

可以在需要的時候給對象添加屬性(包括方法):

function aFunction(){};aFunction.aAttribute = 0;

可以在需要的時候,通過對prototype的操作,給JavaScript對象添加方法:

function person(){ this.name="Aaron"; this.age=14;};person.prototype = { getName: function(){ return this.name; }, getAge: function(){ return this.age; }}

注意:由于JavaScript可以在任何時候為已經存在的對象添加屬性、方法,所以我們往往不能保證最終被調用的屬性、執行的方法是否是我們最初所編寫的。

轉載于:https://my.oschina.net/skyler/blog/706115

總結

以上是生活随笔為你收集整理的『JavaScript』核心的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。