久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - jquery對象之間做 || 運算 ,返回的為什么不是boolean類型

瀏覽:118日期:2023-09-18 17:21:53

問題描述

jquery源碼片段如下:

// HANDLE: $(expr, $(...))} else if ( !context || context.jquery ) { return ( context || rootjQuery ).find( selector );

我認為context這里是一個jquery對象, rootjquery是$(document)

但他們返回的記過不應該是布爾值嗎, 這里為什么是一個jquery對象.

所以||運算在這里做了什么? 他的作用是什么???

謝謝

問題解答

回答1:

基礎請看這里, 一目了然.https://developer.mozilla.org...

多說一句, 在 ES2015 以前, JS 的函數是沒有默認參數的. 為了像其他語言一樣能用默認參數, 經常會這么寫

function demo(arg){ arg = arg || true;}

還有為了兼容不同瀏覽器 API 的時候, 也經常這么寫.

if( !window.requestAnimationFrame ){ window.requestAnimationFrame = (window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame || function (callback){ return setTimeout(callback, 1000 / 60); });}回答2:

Javascript邏輯運算符可以在非Boolean的環境中使用.

盡管 && 和 || 運算符能夠在非Boolean環境中使用, 但如果他們的返回值能夠轉換成Boolean值的話,也可以認為是Boolean運算

(來自邏輯運算符)

對于非Boolean的環境中:

當有一個false時,返回false一側的值當有兩個false時,返回運算符之前(左側)的值;當有兩個true時,返回運算符之后(右側)的值。

(來源于JavaScript中的邏輯運算的返回值(邏輯與&&,邏輯或||,邏輯非!))

標簽: JavaScript
主站蜘蛛池模板: 舞阳县| 靖西县| 吉木乃县| 通江县| 尚志市| 桦川县| 潍坊市| 逊克县| 天峻县| 平昌县| 花莲县| 洛川县| 太和县| 安顺市| 新干县| 贞丰县| 阜宁县| 株洲市| 平山县| 鸡东县| 阳谷县| 皮山县| 牡丹江市| 津市市| 寿阳县| 紫阳县| 玛曲县| 崇左市| 衡东县| 郴州市| 东宁县| 西青区| 阳曲县| 博湖县| 陇南市| 郴州市| 阳城县| 邓州市| 临夏市| 章丘市| 博客|