前端部分知識點總結

小程序接口的通用協議是什么

小程序接口的通用協議是HTTPS

小程序體驗版本打開后顯示空白,只有點擊"打開調試模式"再次打開才能顯示正常,原因是體驗版本的接口協議是HTTP,但小程序只認HTTPS,所以不會去調接口,所以只有打開調試模式才能調接口,這就相當于我們在微信開發者工具上勾選上了"不校驗合法域名、web-
view(業務域名)、TLS版本及HTTPS證書"。

vue怎么跨域

Vue本身不提供跨域功能,但是可以通過以下幾種方式實現跨域:

  1. 使用代理服務器:在開發環境中,可以使用代理服務器來繞過跨域限制。例如,使用Node.js搭建一個代理服務器,將請求轉發到目標服務器,從而繞過跨域限制。
  2. 設置CORS:在后端服務器中設置CORS(跨域資源共享)頭部信息,允許來自特定域名的跨域請求。這樣,Vue應用程序就可以與后端服務器進行跨域通信。
  3. 使用JSONP:JSONP是一種跨域解決方案,它利用了瀏覽器對于<script>標簽不受同源策略限制的特性。在Vue中,可以通過使用第三方庫(如vue-jsonp)來實現JSONP。
  4. 使用第三方跨域庫:有許多第三方庫可以解決Vue跨域問題,例如vue-fetch-plugin、axios等。這些庫提供了跨域請求的功能,并可以與Vue集成使用。

需要注意的是,在生產環境中,通常會使用CORS或代理服務器來解決跨域問題。JSONP由于安全性問題,一般不推薦在生產環境中使用。

vue引入組件三步

在Vue中引入組件需要以下三步:

  1. 定義組件:使用Vue.extend(options)創建組件,其中options和new Vue(options)時傳入的option參數幾乎一樣,但也有些許差別,例如el不要寫,data必須寫成函數等。
  2. 注冊組件:在Vue實例創建時傳入components選項或在Vue實例化之前通過Vue.component進行全局注冊。
  3. 使用組件:在模板中通過標簽的形式使用組件。

webview頁面的使用要求

使用WebView頁面時,需要注意以下幾點:

  • 確認是否需要用戶授權:如果WebView要訪問設備上的敏感信息或執行危險操作,應該給用戶一個明確的授權提示,讓用戶知道WebView正在執行的操作。
  • 確認WebView的配置:使用WebView時,應該檢查WebView的配置和安全性,例如開啟JavaScript、設置緩存大小等。
  • 遵守安全標準:保證WebView的安全性,防止跨站點腳本攻擊、SQL注入等攻擊

new操作符具體干了什么

JavaScript中的new操作符用于創建一個對象實例

new操作符的具體操作步驟如下:

  1. 創建一個新的空對象。
  2. 將構造函數的原型賦值給新對象的原型,這樣新對象就可以訪問構造函數原型上定義的屬性和方法。
  3. 將構造函數的作用域賦值給新對象,使構造函數內部的代碼可以訪問新對象的屬性和方法。
  4. 執行構造函數中的代碼,可以在構造函數中初始化新對象的屬性、設置默認值等操作。
  5. 如果構造函數沒有顯式地返回其他對象,那么new操作符會隱式地返回新創建的對象實例。

定時器和Promise誰先執行

定時器和Promise誰先執行為什么

定時器和Promise是兩種不同的異步處理方式,它們誰先執行取決于具體的實現和代碼邏輯。

定時器通常使用setTimeout或setInterval函數來執行定時任務,這些函數會在指定的時間間隔后執行回調函數。因此,如果在一個定時器的回調函數中調用另一個定時器,那么后一個定時器會在前一個定時器執行完畢后開始計時,并在指定的時間間隔后執行回調函數。

Promise是一種異步編程的方式,它使用異步函數來處理異步操作。Promise對象代表一個異步操作的最終完成(或失敗)及其結果值。Promise可以解決回調地獄(Callback Hell)的問題,使異步操作更加可讀和易于管理。

在Promise中,通常使用then或catch方法來注冊回調函數,這些回調函數會在Promise的狀態改變時被調用。如果Promise的狀態已經改變,那么后續的then或catch方法將不會被執行。因此,如果在一個Promise的回調函數中調用另一個Promise的then或catch方法,那么后一個Promise會在前一個Promise的狀態改變后開始執行。

總的來說,定時器和Promise誰先執行取決于具體的實現和代碼邏輯。如果在一個定時器的回調函數中調用一個Promise的then或catch方法,那么后一個Promise會在前一個定時器執行完畢后開始執行。如果在一個Promise的回調函數中調用一個定時器的setTimeout或setInterval函數,那么后一個定時器會在前一個Promise的狀態改變后開始計時。

get和post的區別,何時使用post

GET和POST是HTTP協議中的兩種不同的請求方法,它們的主要區別在于數據在請求中的位置和方式,以及它們的安全性和冪等性。

  1. 數據位置:GET請求將數據放在URL的查詢字符串中,而POST請求將數據放在請求體中。這意味著GET請求的數據可以被瀏覽器歷史、緩存等記錄下來,而POST請求的數據不會。
  2. 數據方式:GET請求的數據以查詢字符串的形式發送,而POST請求的數據以請求體的形式發送。這意味著GET請求的數據是明文傳輸的,容易被中間人攻擊,而POST請求的數據是加密傳輸的,相對更安全。
  3. 安全性:由于GET請求將數據暴露在URL中,因此它不適合傳輸敏感信息,如密碼、銀行卡號等。相反,POST請求將數據隱藏在請求體中,相對更安全。
  4. 冪等性:GET請求是冪等的,意味著多次執行相同的GET請求,服務器的狀態不會改變。而POST請求不是冪等的,每次執行相同的POST請求可能會在服務器上產生不同的結果。

使用POST請求的場景一般包括但不限于:

  1. 向服務器提交數據,如注冊、登錄、提交表單等。
  2. 發送包含敏感信息的請求,如密碼、個人信息等。

總結起來,當需要向服務器提交數據或發送包含敏感信息的請求時,應使用POST請求。

閉包的概念,優缺點

閉包的概念:

閉包=能夠讀取其他函數內部變量的函數。在本質上,閉包是將函數內部和函數外部連接起來的橋梁。

閉包的優點:

  1. 可以跨作用域訪問變量,讓函數外部也可以訪問到函數內的變量。
  2. 可以創建一個安全的環境,保證內部代碼不受到外部的干涉,實現私有成員,對外只暴露幾個接口。
  3. 讓父函數中變量的值始終保存在內存中。

閉包的缺點:

  1. 內存消耗大,容易造成內存泄露。
  2. 不利于代碼的優化。

vue2和vue3的狀態管理

Vue 2和Vue 3都可以使用Vuex作為狀態管理工具,但是它們也有一些不同之處。以下是它們的概述:

Vue 2的狀態管理:

在Vue 2中,如果你想要進行狀態管理,通常會選擇使用Vuex。Vuex是一個專門為Vue應用程序設計的狀態管理模式庫。它提供了一個集中化的存儲,用于管理所有組件的狀態,并且在組件之間共享這些狀態。

在Vue 2中,你需要安裝并配置Vuex,然后創建一個包含state、getters、mutations和actions等屬性的store對象。State用于存儲應用程序的狀態數據,Getters允許從store中派生出一些新的狀態,Mutations用于修改state的值,而Actions用于異步操作或提交多個mutations。

Vue 3的狀態管理:

在Vue 3中,引入了一個新的特性 - Composition API(組合式API)。Composition API通過提供更靈活和可復用的邏輯組合方式,使得狀態管理變得更加簡單。

雖然Vue 3本身并沒有特定的官方狀態管理庫,但你可以使用Vue 3的Composition API來實現類似于Vuex的狀態管理。你可以在組件中定義自己的響應式狀態,并使用refreactive將其包裝起來。然后,你可以使用computed來派生新的狀態,使用watch來監聽狀態的變化,并使用provideinject來實現跨組件的狀態共享。

總結而言,Vue 2中的狀態管理通常使用Vuex作為官方推薦的解決方案,而Vue 3中的狀態管理可以利用Composition API來實現更靈活的方式。

vue2和vue3的打包有什么不同

Vue 2和Vue 3在打包方面有一些不同之處。以下是它們的概述:

Vue 2的打包:

在Vue 2中,通常使用Webpack或者其他類似的構建工具進行打包。Vue CLI是一個流行的腳手架工具,它基于Webpack并提供了一套預設配置,使項目的搭建和打包更加簡單。

在Vue 2中,默認情況下,會將應用程序打包為一個JavaScript文件(通常是main.js),其中包含所有依賴的Vue庫和組件。這個文件可以在瀏覽器中直接引入,并通過Vue的全局對象來訪問應用程序。

此外,Vue 2還支持代碼分割和異步加載,你可以使用Vue的異步組件功能(dynamic import)來延遲加載某些組件,從而實現按需加載和減小初始包大小的效果。

Vue 3的打包:

在Vue 3中,打包方式與Vue 2基本相同,可以使用Webpack或其他構建工具進行打包。Vue CLI也可以用于Vue 3項目的創建和打包。

與Vue 2相比,Vue 3采用了新的靜態編譯器,可以生成更小、更高效的代碼。Vue 3的模板編譯器支持更多的優化選項,例如標記靜態節點、提取靜態內容等,以減少生成的代碼量和提高運行時的性能。

此外,Vue 3還引入了新的模塊化系統,并采用了Tree-shaking特性,可以更好地優化打包大小。通過使用ES模塊的形式來導入和導出組件、指令等,使得只導入實際需要的代碼,減少了不必要的代碼體積。

總結而言,Vue 2和Vue 3在打包方面的基本流程是相似的,但是Vue 3通過靜態編譯器、模塊化系統和Tree-shaking等特性,能夠生成更小、更高效的代碼,從而進一步提升應用程序的性能和加載速度。

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

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

相關文章

Python表單處理

目錄 通過Flask處理表單 通過Flask-WTF處理表單 通過Flask-WTF驗證表單 通過Flask處理表單 表單是在網頁中搜集用戶信息的各種表單控件的集合區域&#xff0c;表單控件包括文本框、單選框、復選框、提交按鈕等&#xff0c;用于實現客戶端和服務器端之間的數據交互。 利用F…

用Java寫一個拼圖游戲

目錄 運行出的游戲界面如下&#xff1a; User類 CodeUtil類 游戲設置 登陸代碼 注冊代碼 游戲代碼 運行出的游戲界面如下&#xff1a; 按住A不松開&#xff0c;顯示完整圖片&#xff1b;松開A顯示隨機打亂的圖片 User類 package domain;/*** ClassName: User* Author: Kox*…

AI人工智能和大模型(概念)之二

Pytorch的安裝 通過Anaconda安裝PyTorch更為便捷 張量&#xff1a;&#xff08;1&#xff09;Tensor可以是高維的&#xff08;2&#xff09;并非是PyTorch中才有的概念&#xff08;3&#xff09;PyTorch運算的基本單元&#xff08;4&#xff09;基礎數據定義和運算&#xff0…

【Windows】安裝 Apache服務 -- 實操詳細版

&#x1f468;?&#x1f393;博主簡介 &#x1f3c5;云計算領域優質創作者 ??&#x1f3c5;華為云開發者社區專家博主 ??&#x1f3c5;阿里云開發者社區專家博主 &#x1f48a;交流社區&#xff1a;運維交流社區 歡迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

使用Pytorch實現變分自編碼器

使用Pytorch實現變分自編碼器 可以結合這篇VAE講解文章閱讀這篇blog post代碼。 # Import necessary packages. import os import torch import torch.nn as nn import torch.nn.functional as F import torchvision from torchvision import transforms from torchvision.ut…

java打包到docker,以及idea遠程調試

這里主要介紹 dockerfile的打包方式 一、打包jar包到容器 1. 在要打包的項目中創建dockerfile&#xff0c;dockerfile與項目的pom.xml是同級 2. 編輯dockerfile文件 FROM openjdk:8 VOLUME ["/data/untitled"] COPY target/untitled-1.0.jar "/app.jar"…

人工智能技能要求

人工智能技能要求可以根據具體的職位和任務而有所不同&#xff0c;但一般來說&#xff0c;以下是一些常見的人工智能技能要求&#xff1a; 編程技能&#xff1a;掌握至少一種編程語言&#xff0c;并能夠運用該語言進行算法開發和數據處理。 機器學習&#xff1a;了解常見的機器…

開關電源基礎認知

前言 從開關電源&#xff08;BMS充電器&#xff09;入門硬件之——開關電源基礎認知 有紕漏請指出&#xff0c;轉載請說明。 學習交流請發郵件 1280253714qq.com 1.什么是開關電源 開關電源是利用現代電力電子技術&#xff0c;控制開關管開通和關斷的時間比率&#xff0c;維…

【vSphere | VM】虛擬機自定義規范Ⅲ —— 創建 Linux 虛擬機自定義規范

目錄 4. 創建關于Linux系統的虛擬機自定義規范4.1 新建 Linux 虛擬機自定義規范&#xff08;1&#xff09;名稱和目標操作系統&#xff08;2&#xff09;計算機名稱&#xff08;3&#xff09;時區&#xff08;4&#xff09;自定義腳本&#xff08;5&#xff09;網絡&#xff08…

Netty03-核心組件NioEventLoopGroup解讀

NioEventLoopGroup 可以看到NioEventLoopGroup繼承了MultithreadEventExecutorGroup并且實現了EventLoopGroup接口&#xff0c;而這兩個類被ExecutorService修飾&#xff0c;所以NioEventLoopGroup實際上是一個線程池&#xff0c;池中的對象其實就是單個的NioEventLoop。 源碼…

Java設計模式-工廠模式

目錄 一、簡單工廠模式 &#xff08;一&#xff09;需求 &#xff08;二&#xff09;使用傳統的方法來完成 &#xff08;三&#xff09;傳統方法的優缺點 &#xff08;四&#xff09;基本介紹 &#xff08;五&#xff09;使用簡單工廠模式 二、工廠方法模式 &#xff0…

RedisTemplate操作哈希數據

RedisTemplate操作哈希數據 概述常用方法添加哈希數據添加hashMap值判斷hashkey 獲取哈希數據獲取屬性值獲取hashMap值。獲取鍵值對。獲取map鍵是否有值判斷是否有map鍵。獲取鍵。獲取長度。集合方式獲取值。匹配獲取鍵值對 自增以double值大小自增。以long值大小自增。 修改刪…

IDEA中表明或者字段找不到時報紅

問題 idea 中mysql的sql語句報紅&#xff0c;無論表名還是表字段 原因 是由于sql方言導致的 當我們選擇某一個sql方言的時候&#xff0c;xml配置會按照指定規則校驗sql是否規范&#xff0c;并給出提示 解決方案 取消sql方言&#xff0c;設置sql方言為None。設置完重啟idea既…

CSS Grid布局入門:從零開始創建一個網格系統

CSS Grid布局入門&#xff1a;從零開始創建一個網格系統 引言 在響應式設計日益重要的今天&#xff0c;CSS Grid布局系統是前端開發中的一次革新。它使得創建復雜、靈活的布局變得簡單而直觀。本教程將通過分步驟的方式&#xff0c;讓你從零開始掌握CSS Grid&#xff0c;并在…

STM32上模擬CH340芯片的功能 (一)

#虛擬串口模擬CH340# 代碼gitee地址&#xff1a;STM32F103_CH340: 用STM32模擬ch340USB串口的功能 一、思路 1. 確定通信接口&#xff1a;CH340是一款USB轉串口芯片&#xff0c;因此您需要選擇STM32上的某個USB接口來實現USB通信。通常情況下&#xff0c;STM32系列芯片都有內…

Halcon聯合winform顯示以及處理

在窗口中添加窗體和按鈕&#xff0c;并在解決方案資源管理器中調加了導入Halcon導出的.cs文件&#xff0c;運行出現下圖的問題&#xff1a; 問題1&#xff1a;CS0017 程序定義了多個入口點。使用/main(指定包含入口點的類型&#xff09;進行編譯。 解決方案1.&#xff1a; 右…

SAP UI5 walkthrough step3 Controls

在上一步&#xff0c;我們是直接用index.html 中的body 里面的DIVision去輸出 hello world&#xff0c; 在這個章節&#xff0c;我們將用SAP UI5 的標準控件 sap/m/Text 首先&#xff0c;我們去修改 webapp/index.html <!DOCTYPE html> <html> <head><…

jenkins搭建文檔

jenkins搭建文檔 簡介一、安裝運行環境1、安裝JDK環境1&#xff09;查詢自帶的JDK2&#xff09;卸載自帶的JDK3&#xff09;創建java文件夾并將jdk上傳到該文件夾4&#xff09;解壓5&#xff09;配置環境變量6&#xff09;配置生效7&#xff09;驗證是否成功 2、安裝maven環境1…

哪些設備可以隔離沖突域哪些可以隔離廣播域,哪些設備什么都無法隔離

在計算機網絡中&#xff0c;有兩個概念與網絡隔離相關&#xff1a;沖突域和廣播域。沖突域表示一個物理網絡中共享相同帶寬的設備集合&#xff0c;而廣播域是指網絡中一個廣播消息&#xff08;如ARP請求&#xff09;傳播的范圍。以下是一些設備和技術&#xff0c;它們對沖突域和…

使用Docker在Debian上構建GRBL模擬器鏡像:簡明步驟和操作指南

概述編譯編寫 Dockerfile構建鏡像運行測試其他 概述 本文將詳細介紹如何在Debian系統上通過Docker構建GRBL模擬器鏡像&#xff0c;以便進行數控機床的仿真測試。GRBL是一種開源的控制系統&#xff0c;用于控制三軸CNC機床、激光雕刻、激光切割&#xff0c;而在Docker容器中運…