前端試題(一)

2020-03-28 金卡智能

*1. 腳手架 vue-cli現在用的什么版本,2版本了解多少,2 3有什么區別

絕對路徑與相對路徑

./ 當前路徑
…/父路徑
/ 絕對路徑
某文件里引用其他路徑下的資源:
判斷該文件所在文件夾與其他資源路徑間的關系。


什么?錯過了Vue CLI 2!你還要錯過Vue CLI3?
區別寫得很詳細
全局安裝一個橋接工具

Vue CLI 是一個基于 Vue.js 進行快速開發的完整系統,提供:
通過 @vue/cli 搭建交互式的項目腳手架。
通過 @vue/cli + @vue/cli-service-global 快速開始零配置原型開發。
一個運行時依賴 (@vue/cli-service),該依賴:
可升級;
基于 webpack 構建,并帶有合理的默認配置;
可以通過項目內的配置文件進行配置;
可以通過插件進行擴展。
一個豐富的官方插件集合,集成了前端生態中最好的工具。
一套完全圖形化的創建和管理 Vue.js 項目的用戶界面。

商品管理用的vue-cli2bulid config vue-cli init webpack name  (init是vue3版本前的指令)webpack-dev-server...--inline:啟動inline模式來自動刷新頁面
Vue-cli3.0于2018.8.11日正式發布
public src
vue create name  (create是vue3版本才能用的指令)
vue-config.js修改webpack的配置 
vue-cli-service serve  | npm run serve

vue-cli3.0默認項目目錄與2.0的相比,更精簡:
1.移除的配置文件根目錄下的,build和config等目錄,
2.移除了static文件夾,新增了public文件夾,并且index.html移動到public中。
3.在src文件夾中新增了views文件夾,用于分類 試圖組件 和 公共組件 。
4.大部分配置 都集成到 vue.config.js這里,在項目根目錄下

1 安裝
2 目錄 配置文件
3 運行
4 cli插件 @vue/cli-plugin-
在這里插入圖片描述

*2.怎么存儲靜態資源

  1. 用絕對路徑 使用相對路徑引入的靜態資源文件,會被webpack處理解析為模塊依賴
  2. 且放在public文件夾下 public文件夾下的文件并不會被Webpack處理:它們會直接被復制到最終的打包目錄

vue-cli2 版本

1) static – 不打包,直接上傳(引入的第三方的資源文件(已經經過處理)我們不再需要處理,直接上傳)
2) src/assets – 會被打包(壓縮體積,代碼格式化,上傳至服務器 => 將項目中template需要的樣式文件、js文件等都可以放置在assets中,打包減少體積。)
config/index.js

module.exports = {// ...build: {assetsPublicPath: '/',assetsSubDirectory: 'static'}
}

注意:如果把圖片放在assets與static中,html頁面可以使用;但在動態綁定中,assets路徑的圖片會加載失敗,因為webpack使用的是commenJS規范,必須使用require才可以,具體代碼如下:

  <div id="hook"><h3>演示鉤子的組件</h3><p>直接使用路徑</p><img src="../../assets/11.png" alt="圖片加載失敗" title="assets中的圖片"><img src="../../../static/11.png" alt="圖片加載失敗" title="static中的圖片"><br><p>動態綁定路徑</p><img :src="assetsURL" alt="圖片加載失敗" title="assets中的圖片"><img :src="staticURL" alt="圖片加載失敗" title="static中的圖片"></div>
data (){return {assetsURL: require('../../assets/11.png'),staticURL: '../../../static/11.png'}}

在這里插入圖片描述

vue-cli3 版本

1)public不打包(個人理解相當于2版本static)
2) src/assets

資源打包

  • webpack處理靜態資源:在所有的*.vue文件中你所有的templates 和CSS 都被vue-html-loadercss-loader 查詢資源的URLs解析. 比如說, 在 img src=”./logo.png” 和background: url(./logo.png) 中./logo.png是一個相對資源路徑,并且會被Webpack視為一個模塊依賴來解析。
  • 因為./logo.png并非一個Javascript,當將它作為模塊依賴對待時,我們需要用url-loaderfile-loader去處理它。

webpack 中的解析規則

webpack中文文檔

  • 相對URLs,
    例如 ./assets/logo.png 將會被解釋為一個模塊依賴.
    它們將會被替換為基于你Webpack輸出配置自動生成的 URL
  • 無前綴URLs,
    例如. assets/logo.png 將會被像相對URLs一樣處理并將被轉化./assets/logo.png. 我在實際操作中,不加./會報錯,會當做模塊去查找,如果起了別名@/xx/xx.png正常,給assets直接取別名也無法加載圖片。而大多在項目中加載圖片,都是用import的方法,并不直接src=字符串
  • 帶~前綴的URLs 將會被看做模塊請求, 類似于請求(‘some-module/image.png’).
    如果你想改變Webpack的模塊解決配置你需要使用這個前綴 。例如,你需要處理資源的別名,你需要使用 ~assets/logo.png去確保這個別名時受到重視的.
  • 特權相對URLs(絕對路徑,/開頭),
    例如 /assets/logo.png 是完全不作處理的.

最后

假如說,你把index.html以及static文件夾直接放到容器的根目錄,即訪問路徑為:http://xxxx:9090/index.html這樣形式,那么直接使用‘/’即可,不用使用相對路徑。

但是如果說你的前端項目是在某個項目文件夾下或者合并到后臺項目中去發布,即訪問路徑可能為:http://xxx:9090/projectname/index.html,那么就一定要使用’./’,否則資源信息會找不到。

另外:放在static下的圖片,在編碼開發的時候直接使用相對路徑即可,和assetsPublicPath配置為相對路徑或絕對路徑沒有任何關系。這點不要混淆。

*3.多入口

vue-cli3多環境多入口,分別打包

http://localhost:8081/ui.html
http://localhost:8081/index.html

會有2個main.js,2個router.js
都是 雙份的
需要配置vue.config.js

let objectProject = {index: {entry: 'src/views/index/main.js', // page 的入口template: 'src/public/index.html', // 模板來源filename: 'index.html', // 在 dist/index.html 的輸出// 當使用 title 選項時,template 中的 title 標簽需要是 <title><%= htmlWebpackPlugin.options.title %></title>title: 'Index Page',// 在這個頁面中包含的塊,默認情況下會包含,提取出來的通用 chunk 和 vendor chunk。chunks: ['chunk-vendors', 'chunk-common', 'index']},ui: {entry: 'src/views/ui/main.js',template: 'src/public/ui.html',filename: 'ui.html',title: 'Index Page',chunks: ['chunk-vendors', 'chunk-common', 'ui']}
}
let page = {}
let projectname = process.argv[3] // 獲取執行哪個文件
if (process.env.NODE_ENV == 'development') {page = objectProject
} else {page[projectname] = objectProject[projectname]
}
module.exports = {publicPath: './', // 官方要求修改路徑在這里做更改,默認是根目錄下,可以自行配置outputDir: 'dist'+projectname, //標識是打包哪個文件//默認情況下,生成的靜態資源在它們的文件名中包含了 hash 以便更好的控制緩存。如果你無法使用 Vue CLI 生成的 index HTML,你可以通過將這個選項設為 false 來關閉文件名哈希。filenameHashing: true,pages: page,productionSourceMap: false,// 生產環境 sourceMapdevServer: {open: true, // 項目構建成功之后,自動彈出頁面host: 'localhost', // 主機名,也可以127.0.0.0 || 做真機測試時候0.0.0.0port: 8081, // 端口號,默認8080https: false, // 協議hotOnly: false // 沒啥效果,熱模塊,webpack已經做好了}
}

他說入口是public?

4 .BFC(5個要點)

  1. 根元素或其它包含它的元素
  2. 浮動絕對定位(absoluted或者fixed)
  3. 內聯塊display: inline-block (一共三個)
  4. 表格單元格display: table-cell
  5. display:flex
  6. overflow非visible
    什么是BFC?看這一篇就夠了

5.call和apply的區別(反性)

如果使用apply或call方法,那么this指向他們的第一個參數,apply的第二個參數是一個參數數組,call的第二個及其以后的參數都是數組里面的元素。會立即調用。而bind返回函數,不會立即調用。

var  numbers = [5, 458 , 120 , -215 ]
Math.max.apply(null, numbers)

看MDN Math.max()的參數是一組數值(把數寫進去,不能直接傳數組)
有幾個例子比較深了沒看下去

6.Localstorage和sessionstorage的區別

  1. 均只能存儲字符串類型的對象
  2. 生命周期不同:
  • localStorage生命周期是永久,這意味著除非用戶顯示在瀏覽器提供的UI上清除localStorage信息,否則這些信息將永遠存在。
  • sessionStorage生命周期為當前窗口或標簽頁,一旦窗口或標簽頁被永久關閉了,那么所有通過sessionStorage存儲的數據也就被清空了。
  1. 共享
  • 不同瀏覽器(× ×)無法共享localStorage或sessionStorage中的信息。
  • 相同瀏覽器的不同頁面間可以共享相同的 localStorage(頁面屬于相同域名和端口)但是不同頁面或標簽頁間無法共享sessionStorage的信息。(√ ×)
  • 如果一個標簽頁包含多個iframe標簽且他們屬于同源頁面,那么他們之間是可以共享sessionStorage的。(√ √)

7.數組遍歷的區別:forEach map filter 返回值(find、some、every)

函數操作返回值
forEach遍歷數組,length次,無法break無返回值,return控制跳出當前循環執行
map同上新數組執行
filter判斷為true的元素 組成的新數組篩選
includes判斷數組是否含有某值,不用return,不用回調true或false篩選
find輸出的是一旦 判斷為true 則跳出循環輸出符合條件的那個數組元素篩選
findIndex輸出的是一旦 判斷為true 則跳出循環輸出符合條件的那個數組元素下標篩選
some判斷為true則馬上跳出循環并return成true判斷
every判斷
reduce利用前遍歷操作的結果到下一次遍歷使用,重復疊加使用下去sum或者新數組

MDN內置對象

8.Reduce 作用 返回值

*9.ES6

阮一峰ES6
羅列出平時用到的哪些是es6語法

  • 變量聲明 var let const
  • 模板字符串``

**10.var與(let、const)的區別 要完整

  1. 掛載在window上| 后者不能this.
  2. 變量提升 undefined還是報錯
  3. 塊作用域
  4. 重復聲明:同一作用域下let和const不能聲明同名變量,而var可以(重復賦值)

let

  • 模仿私有成員:在處理構造函數的時候,可以通過let聲明而不是閉包來創建一個或多個私有成員。
  • 暫存死區 :let和const都適用
  • switch語句
let x = 1;
switch(x) {case 0:let foo;break;case 1:let foo; // SyntaxError for redeclaration.break;
}

下面是對的寫法:

let x = 1;switch(x) {case 0: {let foo;break;}  case 1: {let foo;break;}
}

由于詞法作用域,表達式(foo + 55)內的標識符foo被認為是if塊的foo變量,而不是值為33的塊外面的變量foo。

function test(){var foo = 33;{let foo = (foo + 55); // ReferenceError}
}
test();

在以下情況下,這種現象可能會使您感到困惑。 let n of n.a已經在for循環塊的私有范圍內。因此,標識符n.a被解析為位于指令本身(“let n”)中的“ n”對象的屬性“ a”。
在沒有執行到它的初始化語句之前,它仍舊存在于暫存死區中。

function go(n) {// n here is defined!console.log(n); // Object {a: [1,2,3]}for (let n of n.a) { // ReferenceErrorconsole.log(n);}
}go({a: [1, 2, 3]});
var a = 100;if(1){a = 10;//在當前塊作用域中存在a使用let/const聲明的情況下,給a賦值10時,只會在當前作用域找變量a,// 而這時,還未到聲明時候,所以控制臺Error:a is not definedlet a = 1;
}

const常量

  • 一旦聲明必須賦值,不能使用null占位。
  • 聲明后不能再修改

  • 如果聲明的是復合類型數據,可以修改其屬性

const a = 100; 
const list = [];
list[0] = 10;
console.log(list);  // [10]const obj = {a:100};
obj.name = 'apple';
obj.a = 10000;
console.log(obj);  // {a:10000,name:'apple'}

*11.模板字符串 ``

vue {{}} 叫插值表達式、 mustache模板語言 – 相關 模板引擎
模板字符串 ``

  • 可以當作普通字符串使用
  • 定義多行字符串
  • 字符串中嵌入變量

*12.模板字符串中怎么表示變量

// 字符串中嵌入變量
var name = "Bob", time = "today";
`Hello ${name}, how are you ${time}?`   // Hello Bob, how are you today?
  • 大括號內可以放入任意的JavaScript表達式,可以進行運算,以及引入對象屬性
  • 模板字符串之中還可以調用函數
  • 如果模板字符串中的變量沒有聲明,則會報錯
  • String.raw方法用來充當模板字符串的處理函數,返回一個除表達式和變量會被替換,其它都保持原樣的字符串。
String.raw`Hi\n${2+3}!`;
// "Hi\n5!"
String.raw`Hi\u000A!`;
// "Hi\u000A!"

13.箭頭函數里的this 指向

ES6箭頭函數里this的指向就是上下文里對象this指向,偶爾沒有上下文對象,this就指向window

14.Object. keys

// simple array
var arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']// array like object
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj)); // console: ['0', '1', '2']// array like object with random key ordering
var anObj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.keys(anObj)); // console: ['2', '7', '100']

15.V-if v-show 區別 相當于css中的

*16.V-for的key有什么用

關鍵詞:
虛擬DOM的Diff算法 vue實現了一套虛擬DOM,使我們可以不直接操作DOM元素,只操作數據便可以重新渲染頁面 ``高效的更新虛擬DOM`
Vue2.0 v-for 中 :key 到底有什么用?

**17.16:06頁面切換回來的時候,查詢過的表不用再查。求 vue中如何保存組件的狀態,進行緩存,切換的時候#? 輸出的

**18.Vue中怎么跨域

配置代理方式
關鍵詞:配置代理

1. 后臺更改header

header('Access-Control-Allow-Origin:*');//允許所有來源訪問 
header('Access-Control-Allow-Method:POST,GET');//允許訪問的方式 

2. 使用JQuery提供的jsonp

ethods: { getData () { var self = this $.ajax({ url: 'http://f.apiplus.cn/bj11x5.json', type: 'GET', dataType: 'JSONP', success: function (res) { self.data = res.data.slice(0, 3) self.opencode = res.data[0].opencode.split(',') } }) } 
} 

3. 使用http-proxy-middleware 代理解決(項目使用vue-cli腳手架搭建)

proxyTable: { '/api': {  //使用"/api"來代替"http://f.apiplus.c" target: 'http://f.apiplus.cn', //源地址 changeOrigin: true, //改變源 pathRewrite: { '^/api': 'http://f.apiplus.cn' //路徑重寫 } } 
}

4. axios跨域,依然是配置了代理

  1. 配置BaseUrl
    在main.js中,配置下我們訪問的Url前綴:
axios.defaults.baseURL = '/api' // 開發本地代理
axios.defaults.headers.post['Contenst-Type'] = 'application/json;'
axios.defaults.headers.common['token'] = store.state.token
  1. 配置代理
    修改config文件夾下的index.js文件,在proxyTable中加上如下代碼:
    proxyTable: {'/api': {  //代理地址target: 'http://xxx.xxx.xxx.xxx:8088',  //需要代理的地址, 實際生產環境需要訪問的地址changeOrigin: true,  //是否跨域secure: false,pathRewrite: {'^/api': '/'   //本身的接口地址沒有 '/api' 這種通用前綴,所以要rewrite,如果本身有則去掉}}},
  1. 修改請求Url
    this.$axios.get("/test/test123") .then(res=>{console.log(res)}).catch(err=>{console.log(err)})

給url加上了前綴/api,我們訪問"/test/test123"就當于訪問了:localhost:8080/api/test/test123

**19.header誰處理的?17:54 后端

**20.發請求到響應的過程

一個完整的http請求響應過程

21.vuex用過嗎

**22.Vuex怎么獲取數據

獲取vuex中的數據一般寫在computed(計算)中<script>import { mapState, mapMutations } from 'vuex';export default {// computed: mapState({//     第一種接受數據方法//     // hhh: state => state.num,//     第二種接受數據方法//     // zxd : 'num'//     第三種接受數據方法//     countPlusLocalState(state){//         return state.num + 100//     }// }),//第四種接收數據的方法computed:mapState(['num']),//第五種接收數據的方法// computed:{//     ...mapState(['num']),//     he(){//         return 'hhehehe'//     }// },name: "user",methods:{...mapMutations(['add','del'])},
</script>

**23.Mutation 和action區別: 異步

1、流程順序

“相應視圖—>修改State”拆分成兩部分,視圖觸發Action,Action再觸發Mutation。

2、角色定位

基于流程順序,二者扮演不同的角色。

Mutation:專注于修改State,理論上是修改State的唯一途徑。

Action:業務代碼、異步請求。

3、限制

角色不同,二者有不同的限制。

Mutation:必須同步執行。

Action:可以異步,但不能直接操作State。

24.Getter 的作用 – 可以認為是store的計算屬性

[Vuex系列] - Vuex中的getter的用法

*25.vue里怎么阻止冒泡

  • . stop:阻止冒泡(通俗講就是阻止事件向上級DOM元素傳遞)
  • . prevent:阻止默認事件的發生
  • . capture:捕獲冒泡,即有冒泡發生時,有該修飾符的dom元素會先執行,如果有多個,從外到內依次執行,然后再按自 然順序執行觸發的事件
  • . self:將事件綁定到自身,只有自身才能觸發,通常用于避免冒泡事件的影響
  • . once:設置事件只能觸發一次,比如按鈕的點擊等

**26.21.55 axios異步請求,如果同時發多個請求,讓他們全部返回以后再進行處理,是怎么操作的

this.$axios.all([this.$axios.get(url).then(res => res.data),this.$axios.get(url).then(res => res.data)]).then(this.$axios.spread((val1,val2) => {// val 是數組中每個接口返回的值 res.dataconsole.log('兩個接口全部加載完成',val1,val2) ;  // 1,2})).catch(err => {console.log(err) ;})
=

*27.Axios get請求post請求參數

get:params

params:{id:this.kemuid},
headers:{token:Cookies.get('token'), platform: 'web'}

post:對象

 {'queslistid':this.kemuid},{headers: {'token':Cookies.get('token'),'platform': 'web'}
}

*28.axios如何實現一個請求的攔截 24.48

**29.Axios回調函數作用. Then 和catch 什么時候執行catch

Promise對象——then()和catch()方法

30.Baseurl

*31.Timeout

axios超時timeout攔截

32.Vue以外其他框架

33.框架除了elementUI

*34.ElemuentUI解釋柵格布局實現原理 26.10

Element UI Layout源碼解析

**35.vue子組件之間直接怎么通信 25.27

bus數據通信
Vue 兄弟組件之間的通信
https://www.cnblogs.com/fundebug/p/10884896.html

**36.表單組件綁定的model值

**37.前端控制用戶對頁面的訪問權限

前端權限控制

**38.Echarts如何把分割線去掉

yAxis : [{type : 'value',name:'電量(kWh)',axisLine:{show:false},axisTick:{show:false},splitLine:{show:false}}]splitLine對應2,axisTick對應1.

**39.路由兩類:hash和history的區別

前端路由的兩種模式:hash模式和 history模式

40.只需要1個div

在這里插入圖片描述

<style>div{height: 100px;width: 100px;border-radius: 100px;position: absolute;top: 40%;left: 40%;border: solid 10px purple;box-shadow: 0px 0px 0px 10px red,0px 0px 0px 10px black inset;background: gray;}div::after{content:' ';background-color: yellow; border-radius: 100px;display: block;z-index: -1;position: relative; left: -30px;top: -30px;width: 160px;height: 160px;}div::before{content:' ';background-color: green; border-radius: 100px;display: block;z-index: -2;position: absolute; left: -40px;top: -40px; width: 180px;height: 180px;}</style><div></div>

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

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

相關文章

html5 --- 利用localStorage進行本地存儲

首先做一個提交到本地存儲的表單及一個用來顯示本地localStorage信息的表格…代碼如下: <h2> 本地存儲用 </h2>標題: <input id"title" name"title" type"text" size"60" style"margin-left:32px;margin-bottom:…

Tomcat啟動阻塞變慢

Tomcat 熵池阻塞變慢詳解 Tomcat 啟動很慢&#xff0c;且日志上無任何錯誤&#xff0c;在日志中查看到如下信息&#xff1a; Log4j:[2015-10-29 15:47:11] INFO ReadProperty:172 - Loading properties file from class path resource [resources/jdbc.properties] Log4j:[201…

項目總結

123轉載于:https://www.cnblogs.com/kehuaihan/p/9284858.html

前端試題(二)

1. 數組方法、reduce()的第二個參數 reduce() MDN文檔 accumulator 累計器currentValue 當前值currentIndex 當前索引array 數組 在沒有初始值的空數組上調用 reduce 將報錯&#xff08;如果有initialValue不報錯&#xff09;。回調函數第一次執行時&#xff0c;accumulator…

項目中遇到問題的解決方法合集

以下內容主要是為了方便記錄自己在工作中遇到的項目問題搜尋到的解決方法&#xff0c;肯定方法不唯一&#xff0c;這里只是給出解決了我的問題的方法&#xff0c;大家走過路過隨便瞧瞧較好啦嘻嘻 1、使用vue/cli 4.x 創建vue項目時使用iconfont 圖標無法顯示——前者版本問題 …

JS展示預覽PDF。

剛好遇到需求&#xff0c;需要在手機端--展示一個電子收據&#xff0c;電子收據返回是PDF格式的&#xff0c;所以需要在前端上面去做PDF預覽。 在學習過程中&#xff0c;了解到一種很簡單&#xff0c;不需要任何插件的方法做PDF預覽&#xff0c;但是這方法有局限性. 代碼如下&a…

html5 --- IDBDatabase創建對象存儲和索引

代碼如下: <!DOCTYPE html> <html> <head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title> CRUD操作 </title><style type"text/css">table{width: 830px;border: 1px …

查詢數據庫 收集 (如某個字段不是中文)

查詢某個字段不為中文的 select * from 表名 where 字段名 REGEXP [\u0391-\uFFE5] 查詢某個字段以數字開頭 select * from 表名 where 字段名 REGEXP [0-9].*轉載于:https://www.cnblogs.com/spicy/p/8038442.html

2019大疆PC軟件開發筆試——開關和燈泡兩個電路板

題目描述: 小A是一名DIY愛好者&#xff0c;經常制作一些有趣的東西。 今天&#xff0c;小A突然想要來做這樣一個東西。小A現在有兩塊同樣大小為nm&#xff0c;有nm塊大小為11小電路板拼成的矩形電路板&#xff0c;假設叫做電路板A和電路板B。電路板A上每個小電路板都是一個開關…

2019高校微信小程序開發大賽獲獎作品——《brain頭腦智序》

目錄 前言 交互流程說明圖 我的任務 登錄授權&#xff08;login&#xff09; 首頁&#xff08;tababr分析&#xff09; 房間準備區&#xff08;preparing&#xff09; 便簽編輯區 最終方案選擇&#xff08;房主權限&#xff09; 會議報告頁面&#xff08;report&#…

前端試題(三)

1. js繼承的7種方式 回顧&#xff1a; 每個構造函數都有一個原型對象&#xff1b;原型對象都包含一個指向構造函數的指針&#xff1b;實例都包含一個指向原型對象的內部指針&#xff1b;一切皆為對象&#xff0c;只要是對象&#xff0c;就會有 proto 屬性&#xff0c;該屬性存…

javascript --- ES6模塊與CommonJS模塊的差異

CommonJS模塊是運行時加載,ES6模塊是編譯時輸出接口 是因為CommonJS加載的是一個對象(module.exports屬性),該對象只有在腳本運行結束時才會生成.而ES6模塊不是對象,它的對外接口只是一種靜態定義,在代碼靜態解析階段就會生成. CommonJS模塊輸出的是一個值的復制&#xff0c;E…

C# ASP 面試題 2017

在博客上看到的&#xff0c;感覺還不錯 https://www.cnblogs.com/renyiqiu/p/6435261.html 轉載于:https://www.cnblogs.com/yangsirc/p/8038555.html

享元模式 - 結構型模式

模式類型&#xff1a; Flyweight 享元模式 - 結構型模式 意圖&#xff1a; The intent of this pattern is to use sharing to support a large number of objects that have part of their internal state in common where the other part of state can vary. 運用共享…

前端試題(四)

1. vue過濾器使用場景 2. v-on綁定多個方法 <p v-on"{click:dbClick,mousemove:MouseClick}"></p>一個事件綁定多個函數&#xff1a; <p click"one(),two()">點擊</p>3. 在菜單結構不確定時&#xff0c;前端如何動態渲染 樹形…

http --- 用于HTTP調試的最小型Perl Web 服務器

下面的程序是個很有用戶的診斷工具,可以用來調試與客戶端和代理的交互情況. 該程序 首先會等待HTTP連接,只有收到請求報文,就會將報文打印在屏幕上,然后等待用戶輸入一條響應報文,并將其回送給客戶端. #! /usr/bin/perl use Socket; use Carp; use FileHandle;# (1) use prot …

Mysql - 安裝與配置

1、下載安裝包 > https://www.mysql.com/downloads/ 2、雙擊安裝&#xff0c;點擊Install MySQL Products > 3、Skip 打鉤&#xff0c;Next下一步 > 4、選擇Server only&#xff1a;只選擇安裝服務端&#xff0c;根據個人喜好更改安裝路徑和數據保存路徑…

4084:拓撲排序

題目鏈接&#xff1a;http://bailian.openjudge.cn/practice/4084/ 總時間限制: 1000ms 內存限制: 65536kB描述給出一個圖的結構&#xff0c;輸出其拓撲排序序列&#xff0c;要求在同等條件下&#xff0c;編號小的頂點在前。 輸入若干行整數&#xff0c;第一行有2個數&#xff…

廖雪峰git教程學習

廖雪峰git教程 git – Linus在2周內用c寫的 1.1 基本概念 版本控制系統&#xff0c;追蹤文本文件的改動&#xff0c;文件、視頻等二進制文件則不可追蹤&#xff08;微軟的word也是二進制文件&#xff09;HEAD 指向當前分支&#xff0c;表示當前版本&#xff08;最新的提交&am…

操作系統 --- 進程和管程的不同

1.進程定義的是私有數據結構PCB,管程定義的是公共數據結構,如消息隊列等; 2.進程是由順序程序執行有關操作,而管程主要是進行同步操作和初始化操作; 3.設置進程的目的在于實現系統的并發行,而管程的設置則是解決共享資源的互斥使用問題; 4.進程通過調用管程中的過程對共享數據結…