JS常見知識點

1、寫一個按照下面方式調用都能正常工作的 sum 方法

console.log(sum(2,3)); // Outputs 5
console.log(sum(2)(3)); // Outputs 5

解決方案

function sum() {var fir = arguments[0];if (arguments.length === 2) {return arguments[0] + arguments[1]} else {return function (sec) {return fir + sec;}}
}
sum(2)(5)

2、下面的代碼會輸出什么?為什么?

var arr1 = "john".split(''); j o h n
var arr2 = arr1.reverse(); n h o j
var arr3 = "jones".split(''); j o n e s
arr2.push(arr3);
console.log("array 1: length=" + arr1.length + " last=" + arr1.slice(-1));
console.log("array 2: length=" + arr2.length + " last=" + arr2.slice(-1));
  • reverse() 會改變數組本身,并返回原數組的引用。
  • slice() 方法可提取字符串的某個部分,并以新的字符串返回被提取的部分。
    stringObject.slice(start,end);
    arrayObject.slice(start,end);
    • start和end如果是負數,則該參數規定的是從字符串的尾部開始算起的位置。也就是說,-1 指字符串的最后一個字符,-2 指倒數第二個字符,以此類推。 

3、下面的代碼會輸出什么?為什么?

1 console.log(1 + "2" + "2");   
2 console.log(1 + +"2" + "2");
3 console.log(1 + -"1" + "2");
4 console.log(+"1" + "1" + "2");
5 console.log( "A" - "B" + "2");
6 console.log( "A" - "B" + 2);

  我們先來看幾條規則:

  • 數字字符串之前存在數字中的正負號(+/-)時,會被轉換成數字
    console.log("類型:"+(typeof '3')+" 內容為:"+'3')      //類型:string 內容為:3
    console.log("類型:"+(typeof +'3')+" 值為:"+(+'3'))    //類型:number 值為:3
    console.log("類型:"+(typeof -'3')+" 值為:"+(-'3'));  //類型:number 值為:-3
  • (字符串 + 數字) 或者 (數字+字符串) ,都得到一個字符
    console.log(5 + 'A');    //5A 
    console.log('A' + 5);    //A5
    console.log(NaN + 'A'); //NaNA
    console.log('A' + NaN); //ANaN
  • 對于運算結果不能轉換成數字的,將返回 NaN
    console.log('a' * 'sd'); //NaN
    console.log('A' - 'B'); // NaN
  • 其他的一些例子
    console.log('-3' - 2 + 1);    //-4   number類型
    console.log( 3 + '-2' + 1);   //3-21 string類型
    console.log( 3 - '-2' + 1);   //6    number類型
  • 也許我們已經有答案了
    1 console.log(1 + "2" + "2");      // "122"
    2 console.log(1 + +"2" + "2");     // "32"
    3 console.log(1 + -"1" + "2");     // "02"
    4 console.log(+"1" + "1" + "2");   //"122"
    5 console.log( "A" - "B" + "2");  // "NaN2"
    6 console.log( "A" - "B" + 2);    //NaN

    ?(未完待續)

?

轉載于:https://www.cnblogs.com/HXW-from-DJTU/p/5952081.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457133.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457133.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457133.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

格雷碼 matlab,基于格雷碼的結構光重建代碼(MATLAB版本)

【實例簡介】該代碼為brown university相關技術人員編寫,旨在用于學習研究3D結構光的原理、算法實現和應用。由于原有的網站( http://mesh.brown.edu/byo3d/index.html )近期無法訪問,為了便于3D愛好者可以方便學習相關內容,特將該網站部分代…

Day06-函數

函數 一、集合(set) 特點:不允許有重復元素,如果添加重復元素,則會自動過濾,可以進行交集、并集的運算。 本質:無序且無重復元素的數據結構 1 創建集合 s1 set() #空集合 不能是{},這是字典 s2 {1…

在TextView中實時顯示數據

//下面實時更新顯示在textView中的數據handler new Handler();runnable new Runnable(){Overridepublic void run(){// TODO Auto-generated method pushupTextView.setText(Integer.toString(Number.pushup_number)); handler.postDelayed(this, 1000); }}; handle…

DuangDuangDuang!碼云項目的 Readme.md 特殊技能

為什么80%的碼農都做不了架構師?>>> 我們在 碼云 上創建新項目的時候,常常會看到默認使用 README 文件初始化該項目(如圖1 所示),然后在新建項目的根目錄下就會生成一個 README.md 文件(如圖2 …

java sunjce,無法初始化類javax.crypto.SunJCE_b

我已經開發了一個Javaservlet應用程序,并且在我的開發PC上,一切正常,包括按計劃使用SFTP通過端口8443等上的HTTPS并以適當的SSL證書通過PDF復制PDF。但是,當我嘗試在實時服務器上運行該應用程序時,會收到錯誤消息。jav…

GitHub添加SSH keys報錯Key is invalid. It must begin with 'ssh-ed25519', 'ssh-rsa', 'ssh-dss', 'ecdsa-sha

GitHub添加SSH keys報錯Key is invalid. It must begin with ‘ssh-ed25519’, ‘ssh-rsa’, ‘ssh-dss’, ecdsa-sha 在GitHub上Add SSH key的時候報錯:Key is invalid. It must begin with ‘ssh-ed25519’, ‘ssh-rsa’, ‘ssh-dss’, ecdsa-sha。。。&#xff…

System.Diagnostics.Process 執行.EXE

分類: C#WINFORM 2009-04-05 21:09 459人閱讀 評論(0) 收藏 舉報 我們經常會遇到在Winform或是WPF中點擊鏈接或按鈕打開某個指定的網址, 或者是需要打開電腦中某個指定的硬盤分區及文件夾, 甚至是"控制面板"相關的東西, 那么如何做呢? 答案是使用Sys…

php 擴展 返回字符串,基于PHP7的PHP擴展開發之四(字符串的處理)

目的:熟悉字符串在PHP擴展里面如何處理要實現的PHP代碼如下:1、當字符串不包含指定前綴字符串時,把前綴字符串和被檢測字符合并返回。2、當字符串包含指定前綴字符串時,原樣返回。 我們將使用PHP擴展的方式實現str_concat功能。fu…

對象之int介紹

#Auther Bob #--*--conding:utf-8 --*-- #創建兩個int的對象&#xff0c;age1和age2age1 10 age2 int(1)#查看對象的類print(type(age1))# <class int>print(type(age2))# <class int> #bit_length表示一個十進制數最少需要占用多個二進制位print(age1.bit_lengt…

Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.

谷歌瀏覽器報錯 版本 73.0.3683.103&#xff08;正式版本&#xff09; &#xff08;32 位&#xff09;報錯內容如下Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.jquery.js:2 Cross-Origin Read Blocking (CORB) blocked cros…

OpenStack 之vmware機器遷移到openstack集群

原理 openstack本身是支持使用vmware格式的鏡像的&#xff0c;但是是需要我們我們在/etc/nova/nova.conf的配置文件中指定該計算節點使用vmware的驅動 123456789101112# Driver to use for controlling virtualization. Options# include: libvirt.LibvirtDriver, xenapi.XenAP…

解決Django靜態文件配置pycharm高光問題

就困擾了我半天的Django靜態文件配置問題 更改了setting 文件后 文件參考問題總會高亮讓然覺得又錯誤怪怪的 所以索性直接眼不見心不煩 具體操作如下圖&#xff1a; 就這樣就可以啦 大功告成&#xff01; 也順便提一下靜態文件配置問題&#xff1a; Django靜態加載的設置…

Weblogic的管理服務器與受管服務器

weblogic管理服務器和受管服務器&#xff1a; 域包含一個稱為“管理服務器”的特殊 WebLogic Server 實例&#xff0c;它是您配置和管理域中所有資源的中心點&#xff0c;一個域有僅只有一個管理服務器實例。 在生產環境中&#xff0c;應將 Web 應用程序、EJB 和其他資源部…

python神經網絡可視化,python中的神經網絡感受野可視化

這是我想出的解決方案。謝謝mprat的幫助。在我發現spectralcolormap最適合這種任務&#xff0c;而且我還添加了您可以指定的邊框。在from matplotlib import pyplotimport numpy as npborder 2images_amount 300row_amount 10col_amount 30image_height 28image_width 28…

Qt 多媒體音頻模擬按鈕發音(音視頻啟動)

## 項目演示 平臺:windows或者ubuntu 要求:平臺需要支持音頻播放功能 文件格式:.wav 可以使用剪映生成,音頻部分,我這里是簡短的音樂 # Qt 多媒體簡介 Qt QSound是Qt框架中的一個類,用于播放音頻文件。它可以在Qt應用程序中實現簡單的音頻播放功能,包括播放、暫停和…

ASP.NET MVC5 ModelBinder

什么是ModelBinding ASP.NET MVC中&#xff0c;所有的請求最終都會到達某個Controller中的某個Action并由該Action負責具體的處理和響應。為了能夠正確處理請求&#xff0c;Action的參數&#xff08;如果有的話&#xff09;&#xff0c;必須在Action執行之前&#xff0c;根據相…

Day07-函數(2)

1.函數類型 函數也是一種類型&#xff0c;我們自定義的函數就是函數對象&#xff0c;函數名保存了函數對象的引用&#xff08;地址&#xff09; def test():print(我是測試函數) ? print(test) #函數名是變量&#xff0c;指向了函數對象 pf test #pf變量也指向了函數對…

php在html里面的位置,關于script在html中的擺放位置解析

以前一直覺得script在html中的任何位置都可以&#xff0c;今天做一個需求的時候才更正了自己的錯誤思想啊--script的位置也不是隨便放的。本文主要談論關于script在html中的擺放位置。小編覺得挺不錯的&#xff0c;現在就分享給大家&#xff0c;也給大家做個參考。希望能幫助到…

Protocol Buffer技術詳解(C++實例)

原文&#xff1a;http://www.cnblogs.com/stephen-liu74/archive/2013/01/04/2842533.html 這篇Blog仍然是以Google的官方文檔為主線&#xff0c;代碼實例則完全取自于我們正在開發的一個Demo項目&#xff0c;通過前一段時間的嘗試&#xff0c;感覺這種結合的方式比較有利于培訓…

yaml 解決問題

yaml 是什么&#xff1f; 在 github 一些開源項目里經常可以看到 .travis.yml 文件&#xff0c;后來接觸持續集成這個概念時發現很多文件都是 .yml 后綴的文件。我在 阮一峰-YAML 語言教程 里了解了它的作用以及基本寫法&#xff0c;他的那篇文章描述的略微有點啰嗦&#xff0…