Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 经典香港**毛片免费看,亚洲小说另类,国产免费观看a大片的网站

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          useState 的傳參方式,有什么區別?

          eState()的傳參有兩種方式:純數據和回調函數。這兩者在初始化時,除了傳入方式不同,沒啥區別。但在調用時,不同的調用方式和所在環境,輸出的結果也是不一樣的。

          如:

          const App = () => {
            const [count, setCount] = useState(0);
          
            const handleParamClick = () => {
              setCount(count + 1);
              setCount(count + 1);
              setCount(count + 1);
            };
          
            const handleCbClick = () => {
              setCount(count => count + 1);
              setCount(count => count + 1);
              setCount(count => count + 1);
            };
          };

          上面的兩種傳入方式,最后得到的 count 結果是不一樣的。為什么呢?因為在以數據的格式傳參時,這 3 個使用的是同一個 count 變量,數值是一樣的。相當于setCount(0 + 1),調用了 3 次;但以回調函數的傳參方式,React 則一般地會直接該回調函數,然后得到最新結果并存儲到 React 內部,下次使用時就是最新的了。注意:這個最新值是保存在 React 內部的,外部的 count 并不會馬上更新,只有在下次渲染后才會更新。

          還有,在定時器中,兩者得到的結果也是不一樣的:

          HTML頁面中嵌入其他頁面的方法

          在自己的頁面中嵌入其他頁面是一個非常重要的操作,既能豐富自己的頁面樣式又能增強頁面的信息量。

          舉個例子,如果打算在自己的頁面中插入一個視頻網站的視頻該怎么做呢?

          假如我現在自己的頁面中嵌入這個視頻,

          我只需要在視頻下側找到"分享"。

          點擊之后出現這樣的對話框,如圖:

          通過在我們的頁面中粘貼這段通用代碼就可以顯示這個視頻了。

          代碼如下:

          <iframe height=498 width=510 src='http://player.youku.com/embed/XNDQ5Mjg1MTU1Mg==' frameborder=0 'allowfullscreen'></iframe>

          下面就寫到我們的頁面中試試吧。

          首先復制"第一個網頁.html"文件,改名為"在頁面中嵌入頁面.html"保存,然后用記事本打開,修改<head></head>標簽中的<title>第一個頁面</title>編輯為"在頁面中嵌入頁面"即可,完整代碼如下:

          <!DOCTYPE HTML>
            <html>
            <head> 
            <title>在頁面中嵌入頁面</title>
            </head> 
            <body>
            <iframe height=498 width=510 src='http://player.youku.com/embed/XNDQ5Mjg1MTU1Mg==' frameborder=0 'allowfullscreen'></iframe>
            </body>
            </html>

          頁面效果如下:

          怎么樣,是不是很神奇!

          下面我們來分析一下這段代碼的含義。

          首先要引入一個新標簽<iframe>,HTML的使用手冊中翻譯為"框架",說實話,這么翻譯初學者是不知所云的。這個框架元素的主要作用就是在自己的頁面中嵌入其他頁面。

          在<iframe>標簽中先指定路徑屬性即src。這里使用的是單引號,實際上只要是半角符號,單引號和雙引號都可以的。

          然后設置長寬屬性,即width和height,大家可以嘗試改變數據看看。

          frameborder可以為iframe的窗口指定一個邊框,大家可以嘗試把0改成1看看。大家注意哈,這里輸入30和輸入1是一樣的,因為這個屬性不是定義邊框的寬度,而是定義是否顯示邊框!在編程中叫做布爾值,0代表沒有邊框,1代表有邊框!和我們點燈的開關一樣!

          如圖:多了個邊框出來。

          最后'allowfullscreen'這個描述非常的奇葩,把它刪掉沒有任何影響。不曉得是干什么的,主要是也不符合html的語法(也可能是我沒見識)。如果有詳細了解的小伙伴歡迎留言指教,感激不盡。

          下面我們嘗試修改一下src屬性,給它一個別的路徑看看。例如:

          <!DOCTYPE HTML>
            <html>
            <head> 
            <title>在頁面中嵌入頁面</title>
            </head> 
            <body>
            <iframe height=498 width=510 src='https://www.toutiao.com/i6790673377188119052/'>
            </iframe>
            </body>
            </html>

          需要注意的是,修改了src并保存文件之后要把原頁面關閉然后重新打開才可以正常顯示!

          效果如下:

          在瀏覽網頁時我們還經常遇到這樣的情況,就是有一個獨立窗口顯示嵌套的頁面,上面有個標題,一點擊就會跳到那個嵌入的頁面上,這個其實很簡答,使用一個<a></a>元素即可辦到,示例代碼如下:

          <a href="https://www.toutiao.com/i6790673377188119052/">HTML中的塊級元素與內聯元素——零基礎自學網頁制作</a>
          <iframe height=498 width=510 src='https://www.toutiao.com/i6790673377188119052/'></iframe>

          頁面示例如下:

          框架元素并沒有換行,所有我們可以推測出<iframe>標簽實際上是個內聯元素,如何讓它換行呢?

          為<iframe>的style屬性中寫入display:block即可。這句代碼的意思是按照塊元素來顯示<iframe>內容。

          示例代碼如下:

          <iframe height=498 width=510 style = "display:block;"src='https://www.toutiao.com/i6790673377188119052/'></iframe>

          頁面效果如下:

          是不是很有意思。

          下面我們來介紹一個更有趣的玩法。如圖所示:

          這個怎么做呢?

          這就要介紹<iframe>標簽中的另一個屬性:name(名字)

          示例代碼如下:name="iframe"

          <iframe name = "iframe" height=498 width=510style = "display:block;"src='https://www.toutiao.com/i6790673377188119052/'allowfullscreen'></iframe>

          這里講個題外話,如果大家了解中國古代的"請神術"的話就會知道這樣一個有趣的傳說,就是如果我們能叫出鬼神的名字就可以驅使它。

          編程也是這樣,我們給函數或變量一個名字后,就可以隨時隨地的驅使它。

          現在我們給<iframe>起了個名字叫做"iframe",當然您可以使用其他名字也沒問題,但要使用英文或漢語拼音命名,名字是英語字母組合最好。

          有了名字之后,<a>標簽就要驅使<iframe>標簽來顯示自己路徑下的內容,如何驅使呢?

          大家還記得<a>標簽中有一個target屬性嗎?只要讓target="iframename"即可!

          也就是target="iframe"。示例代碼如下:大家要注意的是<a>標簽也是內聯元素,也需要添加display:block,不然也是排在一列顯示。

          <a style = "display:block;" target="iframe" href="https://www.toutiao.com/i6790673377188119052/">HTML中的塊級元素與內聯元素——零基礎自學網頁制作</a><!--第一個a鏈接的是頭條文章-->
          <a style = "display:block;" target="iframe" href="https://baike.baidu.com/item/%E6%AD%BC-20/1555348?fromtitle=%E6%AD%BC20&fromid=1838467&fr=aladdin"> 殲20戰斗機百科</a><!--第二個a鏈接的是百度百科-->
          <a style = "display:block;"target="iframe" href="image1.jpg">IT美女</a><!--第三個a鏈接的是本地圖片-->
          <iframe name = "iframe" height=498 width=510style = "display:block;"></iframe>

          只要我們為不同的<a>標簽賦予target="iframe"的屬性,點擊這些<a>標簽就可以在叫做"iframe"的框架元素中顯示自己的頁面。這時我們可以把<iframe>標簽中的src屬性刪除掉,保存文件后,關閉測試網頁,再重新打開,效果如下:

          初始狀態下,因為框架元素中的src是空的,所以打開后是空白的。如果您覺得單調可以任意復制3個<a>中的一個href中的鏈接路徑給<iframe>的src屬性,打開就是相應的標簽。這個就不演示了,大家自己試試即可。

          點擊第一個鏈接效果如下:

          點擊第二個鏈接如下:

          點擊第三個鏈接如下:

          最后再強調一下,改完框架的src屬性后需要關閉頁面后重新打開才可以,刷新的話并不能正確顯示!切記!

          今天的示例代碼如下:

          <!DOCTYPE HTML>
            <html>
            <head> 
            <title>在頁面中嵌入頁面</title>
            </head> 
            <body>
            <a style = "display:block;" target="iframe" href="https://www.toutiao.com/i6790673377188119052/">HTML中的塊級元素與內聯元素——零基礎自學網頁制作</a>
            <a style = "display:block;" target="iframe" href="https://baike.baidu.com/item/%E6%AD%BC-20/1555348?fromtitle=%E6%AD%BC20&fromid=1838467&fr=aladdin">殲20戰斗機百科</a>
          <a style = "display:block;" target="iframe" href="image1.jpg">IT美女</a>
          <iframe name = "iframe" height=498 width=510 style = "display:block;"></iframe>
          </body>
          </html>

          今天的內容結束了,明天我將會為大家介紹<object>和<embed>這兩個標簽,它們可以在頁面中嵌入更多有趣的東西。

          喜歡的小伙伴請關注我,閱讀中遇到任何問題請給我留言,如有疏漏或錯誤歡迎大家斧正,不勝感激!

          HTML完整學習目錄

          HTML序章(學習目的、對象、基本概念)——零基礎自學網頁制作

          HTML是什么?——零基礎自學網頁制作

          第一個HTML頁面如何寫?——零基礎自學網頁制作

          HTML頁面中head標簽有啥用?——零基礎自學網頁制作

          初識meta標簽與SEO——零基礎自學網頁制作

          HTML中的元素使用方法1——零基礎自學網頁制作

          HTML中的元素使用方法2——零基礎自學網頁制作

          HTML元素中的屬性1——零基礎自學網頁制作

          HTML元素中的屬性2(路徑詳解)——零基礎自學網頁制作

          使用HTML添加表格1(基本元素)——零基礎自學網頁制作

          使用HTML添加表格2(表格頭部與腳部)——零基礎自學網頁制作

          使用HTML添加表格3(間距與顏色)——零基礎自學網頁制作

          使用HTML添加表格4(行顏色與表格嵌套)——零基礎自學網頁制作

          16進制顏色表示與RGB色彩模型——零基礎自學網頁制作

          HTML中的塊級元素與內聯元素——零基礎自學網頁制作

          初識HTML中的<div>塊元素——零基礎自學網頁制作

          在HTML頁面中嵌入其他頁面的方法——零基礎自學網頁制作

          封閉在家學網頁制作!為頁面嵌入PDF文件——零基礎自學網頁制作

          HTML表單元素初識1——零基礎自學網頁制作

          HTML表單元素初識2——零基礎自學網頁制作

          HTML表單3(下拉列表、多行文字輸入)——零基礎自學網頁制作

          HTML表單4(form的action、method屬性)——零基礎自學網頁制作

          HTML列表制作講解——零基礎自學網頁制作

          為HTML頁面添加視頻、音頻的方法——零基礎自學網頁制作

          音視頻格式轉換神器與html視頻元素加字幕——零基礎自學網頁制作

          HTML中使用<a>標簽實現文本內鏈接——零基礎自學網頁制作

          typeof 運算符是 JavaScript 的基礎知識點,盡管它存在一定的局限性(見下文),但在前端js的實際編碼過程中,仍然是使用比較多的類型判斷方式。

          因此,掌握該運算符的特點,對于寫出好的代碼,就會起到很大的幫助作用。

          typeof 返回一個字符串,表示該操作值的數據類型,基本語法:

          typeof operand
          typeof(operand)
          

          可能返回的類型字符串有:string, boolean, number, bigint, symbol, undefined, function, object。

          返回類型

          將根據可能的返回類型,進行以下的分類介紹,對typeof的使用方法一網打盡。

          string 和 boolean

          字符串、布爾值分別返回 string、boolean。包括 String() 和 Boolean()。

          typeof '1' // 'string'
          typeof String(1) // 'string'
          typeof true // 'boolean'
          typeof Boolean() // 'boolean'
          

          number和bigint

          數字返回 number,包括 Number()、NaN 和 Infinity 等,以及 Math 對象下的各個數學常量值。

          BigInt 數字類型值返回 bigint,包括 BigInt(1)。

          typeof 1 // 'number'
          typeof NaN // 'number'
          typeof Math.PI // 'number'
          typeof 42n // 'bigint'
          typeof BigInt(1) // 'bigint'
          

          symbol

          symbol 值返回 symbol,包括 Symbol()。

          typeof Symbol() // 'symbol'
          typeof Symbol('foo') // 'symbol'
          typeof Symbol.iterator // 'symbol'
          

          undefined

          undefined 本身返回 undefined。

          不存在的,或者定義了但未賦初值的變量,都會返回 undefined。

          還有 document.all 等瀏覽器的非標準特性。

          typeof undefined // 'undefined'
          typeof ttttttt // 'undefined'
          typeof document.all // 'undefined'
          

          function

          函數返回 function。

          包括使用es6的 class 類聲明的。

          還有各個內置對象 String、Number、BigInt、Boolean、RegExp、Error、Object、Date、Array、Function、Symbol 本身。

          以及 Function(),new Function()。

          function func () {}
          typeof func // 'function'
          typeof class cs {} // 'function'
          typeof String // 'function'
          typeof RegExp // 'function'
          typeof new Function() // 'function'
          

          object

          對象、數組、null、正則表達式,都返回 object。

          包括 Math、jsON 對象本身。

          還有使用 new 操作符的數據,除了 Function 以外。

          typeof {} // 'object'
          typeof [] // 'object'
          typeof null // 'object'
          typeof /d/ // 'object'
          typeof Math // 'object'
          typeof new Number(1) // 'object'
          

          其他

          關于其他大部分的 JavaScript關鍵字,得到的結果值都是 object 或 function。

          注:多數小寫字母開頭的是對象 object,多數大寫字母開頭的都是方法 function。常見的明確知道的方法不算,如 alert,prompt 等方法。

          除此以外,還有各js環境下具體實現的宿主對象。

          常見問題

          引用錯誤

          在 let 和 const 塊級作用域變量定義之前,使用 typeof 會拋錯 ReferenceError。因為塊級作用域變量,會在頭部形成 暫存死區,直到被初始化,否則會報引用錯誤。

          typeof t
          let t = 1
          // VM327:1 Uncaught ReferenceError: t is not defined
          //    at <anonymous>:1:1

          如果是使用 var 定義變量,不會報錯,返回 undefined 。

          有變量提升,不會形成暫時死區。

          typeofnull

          對于 typeof null === 'object' ,記住即可,可能的解釋:

          在JavaScript 最初的實現中,JavaScript 中的值是由一個表示類型的標簽和實際數據值表示的。對象的類型標簽是 0。由于null代表的是空指針(大多數平臺下值為 0x00),因此,null 的類型標簽是 0,typeof null 也因此返回 "object"。

          typeof 的局限性

          typeof 的局限性,在于無法精確判斷出 null、數組、對象、正則 的類型。所以如果要精準判斷,還需要使用其他技術手段,或組合判斷。如下,判斷數組類型:

          Object.prototype.toString.call([]) // '[object Array]'
          
          [] instanceof Array // true
          
          [].constructor === Array // true

          其中,Object.prototype.toString.call 是javascript中用于準確判斷數據類型的通用手段。

          擴展:BigInt類型

          BigInt 來自于 ES11 增加的一種最新的基礎類型,可以用任意精度表示整數。

          它提供了一種表示大于 2^53 - 1 整數的方法,能表示任意大的整數。

          它是通過在整數末尾附加 n 或調用構造函數 BigInt() 來創建的。IE 不支持。

          10n
          BigInt(99) // 99n

          注意點:

          • BigInt 能使用運算符 +、*、-、**和%。
          • 除 >>> (無符號右移) 之外的 位操作 也可以支持。因為BigInt 都是有符號的。
          • BigInt 不支持單目 (+) 運算符,會報類型錯誤。
          • 不能對 BigInt 使用 Math 對象中的方法。
          • BigInt 不能與 Number數字 進行混合計算,否則,將拋出 TypeError。
          • 在將 BigInt 轉換為 Boolean 時,它的行為類似 Number數字 。
          • BigInt 變量在轉換成 Number 變量時可能會丟失精度。
          • typeof 操作時返回 bigint。
          • 使用 Object、String 等內置對象轉換時,類似于 Number數字。
          • BigInt 使用 / 除操作時,帶小數的運算會被取整。
          • Number 和 BigInt 可以進行比較,非嚴格相等。
          • JSON.stringify 處理 BigInt 會引發類型錯誤。


          -


          主站蜘蛛池模板: 无码国产精品一区二区免费式芒果| 97久久精品无码一区二区| 午夜福利无码一区二区| 亚洲AV无码一区二三区| 午夜AV内射一区二区三区红桃视| 国产日韩精品一区二区三区在线 | 国产一区二区三区在线观看免费| 久久精品一区二区三区四区| 国产一区二区三区在线看片| 相泽南亚洲一区二区在线播放 | V一区无码内射国产| 最新中文字幕一区| 国产一区二区三区播放心情潘金莲 | 国产一区二区三区在线观看影院 | 国产精品高清视亚洲一区二区 | 免费看无码自慰一区二区| 无码日韩精品一区二区三区免费 | 亚洲码欧美码一区二区三区| 精品无码综合一区| 国产高清在线精品一区二区三区| 日韩一区二区三区不卡视频| 国产精品一区二区毛卡片| 91精品福利一区二区| 伊人无码精品久久一区二区| 中文字幕av一区| 日本v片免费一区二区三区| 成人毛片一区二区| 精品人妻一区二区三区四区在线| 美女视频一区二区| 精品国产香蕉伊思人在线在线亚洲一区二区| 亚洲乱码国产一区三区| 国产精品一区12p| 一区二区乱子伦在线播放| 国产一区二区中文字幕| 免费无码VA一区二区三区| 99热门精品一区二区三区无码 | 亚洲av成人一区二区三区| 亚洲国产美国国产综合一区二区| 日本免费一区二区三区| 亚洲a∨无码一区二区| 精彩视频一区二区三区|