A. web前端javascript能實現什麼演算法或者計算
在Web開發中,JavaScript很重要,演算法也很重要。下面整理了一下一些常見的演算法在JavaScript下的實現,包括二分法、求字元串長度、數組去重、插入排序、選擇排序、希爾排序、快速排序、冒泡法等等。僅僅是為了練手,不保證高效與美觀,或許還有Bug,有時間再完善吧。
1.二分法:
function binary(items,value){
var startIndex=0,
stopIndex=items.length-1,
midlleIndex=(startIndex+stopIndex)>>>1;
while(items[middleIndex]!=value && startIndex
if(items[middleIndex]>value){
stopIndex=middleIndex-1;
}else{
startIndex=middleIndex+1;
}
middleIndex=(startIndex+stopIndex)>>>1;
}
return items[middleIndex]!=value ? false:true;
}
2.十六進制顏色值的隨機生成:
function randomColor(){
var arrHex=["0","2","3","4","5","6","7","8","9","a","b","c","d"],
strHex="#",
index;
for(var i=0;i < 6; i++){
index=Math.round(Math.random()*15);
strHex+=arrHex[index];
}
return strHex;
}
一個求字元串長度的方法:
function GetBytes(str){
var len=str.length,
bytes=len;
for(var i=0;i < len;i++){
if(str.CharCodeAt>255){
bytes++;
}
}
return bytes;
}
3.js實現數組去重:
Array.protype.delRepeat=function(){
var newArray=new Array();
var len=this.length;
for(var i=0;i < len;i++){
for(var j=i+1;j < len;j++)
{
if(this[i]==this[j])
{
++i;
}
}
newArray.push(this[i]);
}
return newArray;
}
4.插入排序。所謂的插入排序,就是將序列中的第一個元素看成一個有序的子序列,然後不段向後比較交換比較交換。
function insertSort(arr){
var key;
for(var j = 1; j < arr.length ; j++){
//排好序的
var i = j - 1;
key = arr[j];
while(i >= 0 && arr[i] > key){
arr[i + 1] = arr[i];
i --;
}
arr[i + 1] = key;
}
return arr;
}
5.選擇排序。其實基本的思想就是從待排序的數組中選擇最小或者最大的,放在起始位置,然後從剩下的數組中選擇最小或者最大的排在這公司數的後面。
function selectionSort(data)
{
var i, j, min, temp , count=data.length;
for(i = 0; i < count - 1; i++) {
/* find the minimum */
min = i;
for (j = i+1; j < count; j++)
{
if (data[j] < data[min])
{ min = j;}
}
/* swap data[i] and data[min] */
temp = data[i];
data[i] = data[min];
data[min] = temp;
}
return data;
}
6.希爾排序,也稱遞減增量排序演算法。其實說到底也是插入排序的變種。
function shellSort(array){
var stepArr = [1750, 701, 301, 132, 57, 23, 10, 4, 1]; //
reverse()在維基上看到這個最優的步長較小數組
var i = 0;
var stepArrLength = stepArr.length;
var len = array.length;
var len2 = parseInt(len/2);
for(;i < stepArrLength; i++){
if(stepArr[i] > len2){
continue;
}
stepSort(stepArr[i]);
}
// 排序一個步長
function stepSort(step){
//console.log(step) 使用的步長統計
var i = 0, j = 0, f, tem, key;
var stepLen = len%step > 0 ? parseInt(len/step) + 1 : len/step;
for(;i < step; i++){// 依次循環列
for(j=1;/*j < stepLen && */step * j + i < len;
j++){//依次循環每列的每行
tem = f = step * j + i;
key = array[f];
while((tem-=step) >= 0){// 依次向上查找
if(array[tem] > key){
array[tem+step] = array[tem];
}else{
break;
}
}
array[tem + step ] = key;
}
}
}
return array;
}
7.快速排序。其實說到底快速排序演算法就系對冒泡排序的一種改進,採用的就是演算法理論中的分治遞歸的思想,說得明白點,它的做法就是:通過一趟排序將待排序的紀錄分割成兩部分,其中一部分的紀錄值比另外一部分的紀錄值要小,就可以繼續分別對這兩部分紀錄進行排序;不段的遞歸實施上面兩個操作,從而實現紀錄值的排序。
function quickSort(arr,l,r){
if(l < r){
var mid=arr[parseInt((l+r)/2)],i=l-1,j=r+1;
while(true){
while(arr[++i] < mid);
while(arr[--j]>mid);
if(i>=j)break;
var temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
quickSort(arr,l,i-1);
quickSort(arr,j+1,r);
}
return arr;
}
8.冒泡法:
function bullSort(array){
var temp;
for(var i=0;i < array.length;i++)
{
for(var j=array.length-1;j > i;j--){
if(array[j] < array[j-1])
{
temp = array[j];
array[j]=array[j-1];
array[j-1]=temp;
}
}
}
return array;
}
B. web前端培訓要多久
一般來講四個半月左右。不過在開始學習web前端開發之前,有幾點是你需要注意的。
1、任何技術實際都是可以從零基礎開始的,不管是直接學習還是通過相近經歷轉行。所以不需要因零基礎擔心。
2、在你學習一門技術之前,一定要做好准備,投入時間、精力、資金、甚至融入相關的圈子。這些准備里,還包括給自己制定一個強制計劃:我要在多久之內學會這個模塊,我要在多久之內達到什麼水平等,相信我,一定要有個計劃,要不然你只會一直懶惰,學習周期無限增長。
3、選擇一個好的培訓機構或者一個好的老師(這個老師可以死一本書、一個頁面、或者一個真實的人)。個人覺得最好是一個培訓機構或者一個真實的人來做你的老師,帶領你做項目,只有實實在在的一個標簽一個標簽做出來,你才會發現問題,解決問題,獲得能力。
為什麼說培訓web前端需要四個半月左右呢?先從需要學習的內容說起。學習內容分為三部分。
一:基礎部分(10天左右)
web前端開發多久能學會
基礎部分包含美術基礎及基本工具PS、AI的使用。
美術基礎:繪畫基礎篇(簡單的了解手繪素描、色彩、速寫);平面構成的基礎知識(點線面)色彩美學方面的知識;游戲ICON。
軟體工具:Photoshop基本操作、操作界面、常見工具的使用Photoshop常用工具、圖層、路徑圖層樣式、濾鏡、調色,學習Illustrtor軟體的基本操作、以及面板等常見工具的使用。
二:設計部分(20天左右)
設計部分包括網頁界面設計和移動界面。
了解網頁設計基本原則與規范,不同載體的案例展示,掌握企業網站的技能及設計技巧掌握專題型網站的設計。
三:代碼部分(三個月左右)
1、Html+Css
HTML超文本標記語言,網頁的本質就是超級文本標記語言,通過結合使用其他的web技術,可以創造出功能強大的網頁。
2、javascript
JavaScript一種腳本語言,是一種動態類型、弱類型、基於原型的語言。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言。
3、PHP
PHP,即「PHP:HypertextPreprocessor」,是一種被廣泛應用的開源通用腳本語言,尤其適用於web開發並可嵌入HTML中。
4、CSS3
CSS3語言開發是朝著模塊化發展的。以前的規范作為一個模塊實在是太龐大而且比較復雜,所以,把它分解為一些小的模塊,更多新的模塊也被加入進來。
5、HTML5
用HTML5是新版的HTML。2014年10月29日,萬維網聯盟宣布,經過接近8年的艱苦努力,該標准規范終於制定完成。
6、Bootstrap
Bootstrap是基於HTML5和CSS3開發的,它在jQuery的基礎上進行了更為個性化和人性化的完善,形成一套自己獨有的網站風格,並兼容大部分jQuery插件。
7、Angularjs
簡單來說AngularJS是google開發者設計和開發的一套前端開發框架,幫助你簡化前端開發的負擔。它提供了一系列兼容性良好並且可擴展的服務。
8、nodejs+、mongodb
Node.js是運行在伺服器,基於ChromeV8引擎的JavaScript運行環境。Node.js使用了一個事件驅動、非阻塞式I/O的模型,使其輕量又高效。
C. 如何學習WEB前端開發
您好,學習web前端一定要有方向,推薦你一個web前端的學習方向:
階段1.前端核心基礎
HTML +_CSS核心、JavaScript基礎語法、JavaScript面向對象、JavaScript DOM和
BOM編程、jQuery框架
階段2.HTML5 + CSS3 + 移動端核心
HTML5新特性、Canvas專列、CSS3新特性、CSS3進階、CSS3實例演練
階段3.移動端
移動端核心、移動端適配、移動端特效
階段4.伺服器端
伺服器端開發、資料庫操作、前後端交互核心、微信公眾號開發
階段5.JavaScript高級
JavaScript基礎深入剖析、JavaScript面向對象深入講解、JavaScript非同步編程、
JavaScript函數式編程JavaScript設計模式
階段6.前端必備
性能優化、版本控制工具、模塊化、項目構建工具
階段7.高級框架
React框架基本使用、React框架進階、Vue框架基本使用、Vue框架進階、Vue源碼分析
階段8.小程序
原生小程序入門、原生小程序API使用、小程序框架Mpvue
web前端學習路線圖
上面這個是web前端的學習路線圖,你可以按照順序從上到下一次學習,這個路線圖不管是培訓還是自學都是可以的,在學習方法上你要做到「三多」多思考、多問、多敲,學習的本質就是不斷的重復,熟能生巧,希望對你有所幫助!D. web前端主要做的是什麼工作
Web前端可以做的工作,可以分為以下幾點:
1、Web前端是什麼意思
Web前端是網站前台部分,運行在PC端,移動端等瀏覽器上展現給用戶所瀏覽的網頁。
用我們的話來說,前端就是網頁給訪問網站的人看的內容和頁面,Web前端開發意思就是這些內容的製作,也就是代碼的實現。
Web 前端開發三大技術 html,css,js
還運用大量的 js 庫,可以將前端的交互效果做得更加炫酷,除了基本語言,還要掌握各種開發工具的應用。Dreamweaver:,Sublime,HBuilder等都是比較熱門的工具。
前端開發需要掌握的能力很多,知識范圍很廣,要付出的代價很多。不過,前端的前途也是相當光明的,前端現在正在走向工程化發展,無論權是大小公司企業,對前端開發的需求都是越來越大了,也越來越專業了。
3、朗沃教育Web前端課程做什麼
Web 前端除了最基本的 html,css,js 還有大量的技術內容,也會運用到一定的框架,而朗沃教育的 WEB 前端開發一般會學到這些內容。
HTML/CSS 基礎和高級
JavaScript 基礎語法和高級應用
Node 服務端開發
Web前端框架開發(React 技術棧,Vue 技術棧)
移動端開發(React Native,跨端開發框架之微信小程序開發,Flutter,PWA 等)
前端運維(Docker 與 Linux 基本操作等)
詳細課程請瀏覽朗沃教育Web前端課程。
WEB前端是什麼?零基礎可以學嗎?初期階段只是了解一些Web前端基礎內容,後面會涉及到一些Web前端交互的內容,再涉及到伺服器的一些知識,最後再學習Web前端的三大框架,再加上一些前端項目。
E. 求解做一個Web數學計算器
首先,代碼大概看得懂吧!!!
分析設計說明就得自己寫了,說下大體的步驟:
1.首先是用html表格的形式,大概確定計算器的結構(參與運算的數,運算符,以及計算結果按鈕)
參與運算的數由用戶輸入,採用文本輸入,結果使用按鈕計算顯示
運算符包括+、-、*、/.可以用下拉列表實現,也就是<select></select>
<table class="table1">
<tr><td>請輸入第一個數:</td><td><input type="text" name="num1"/></td></tr>
<tr><td>請輸入第二個數:</td><td><input type="text" name="num2"/></td></tr>
<tr>
<td>
<select name="oper">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
</td>
<td ><input type="submit" value="計算" onclick="myCal()"></td></tr>
</table>
2.用javascript實現計算器計算功能
<script type="text/javascript">
function myCal()
{
var num = document.getElementsByTagName("input");
var oper = document.getElementsByTagName("select");
var resultp;
switch(oper[0].value)
{
case "+":
resultp=parseFloat(num[0].value)+parseFloat(num[1].value);
alert(resultp);
break;
case "-":
resultp=parseFloat(num[0].value)-parseFloat(num[1].value);
alert(resultp);
break;
case "*":
resultp=parseFloat(num[0].value)*parseFloat(num[1].value);
alert(resultp);
break;
case "/":
resultp=parseFloat(num[0].value)/parseFloat(num[1].value);
alert(resultp);
break;
default:
break;
}
}
</script>
以上代碼功能為:獲取參與運算的數值、運算符,其中注意類型的轉換(文本轉換為數值型),對不同的運算符採用不同的處理,switch開關語句實現。
3.CSS樣式表的使用
<style type="text/css">
*{margin:0px;padding:0px;}
.table1{width:300px;border:1px solid blue;background:gray;}
</style>
使用了通配符合類選擇器,根據自己的需要修改,包括背景顏色、表格邊框、顏色、寬度等等。
F. 零基礎開始學 Web 前端開發,有什麼建議嗎
web前端作為互聯網相關的重要崗位,許多互聯網大廠(如阿里騰訊等)在招聘時會作出要求。學好web前端對於將來掌握前端後端開發、成為全棧架構師的學習很有幫助。
想學習web前端需要掌握的內容也是不少的,對於自學的同學來說會有一些難度,不推薦自學能力差的人。我們在學習的時候需要分階段進行,做到有計劃的學習與訓練,具體的學習順序如下:
web前端學習順序:
①計算機基礎以及PS基礎
②前端開發基礎(HTML5開發、JavaScript基礎到高級、jQuery網頁特效、Bootstrap框架)
③移動開發
④前端高級開發(ECMAScript6、Veu.js框架開發、webpack、前端頁面優化、React框架開發、AngularJS 2.0框架開發等)
⑤小程序開發
⑥全棧開發(MySQL資料庫、Python編程語言、Django框架等)
⑦就業拓展(網站SEO與前端安全技術)
想要系統學習,你可以考察對比一下開設有IT專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,建議實地考察對比一下。
祝你學有所成,望採納。
G. 學WEB前端開發需要注意什麼,有哪些技能需要學習
前端前景是很不錯的,像前端這樣的專業還是一線城市比較好,師資力量跟得上、就業的薪資也是可觀的,學習前端可以按照路線圖的順序,
0基礎學習前端是沒有問題的,關鍵是找到靠譜的前端培訓機構,你可以深度了解機構的口碑情況,問問周圍知道這家機構的人,除了口碑再了解機構的以下幾方面:
1. 師資力量雄厚
要想有1+1>2的實際效果,很關鍵的一點是師資隊伍,你接下來無論是找個工作還是工作中出任哪些的人物角色,都越來越愛你本身的技術專業前端技術性,也許的技術專業前端技術性則絕大多數來自你的技術專業前端教師,一個好的前端培訓機構必須具備雄厚的師資力量。
2. 就業保障完善
實現1+1>2效果的關鍵在於能夠為你提供良好的發展平台,即能夠為你提供良好的就業保障,讓學員能夠學到實在實在的知識,並向前端學員提供一對一的就業指導,確保學員找到自己的心理工作。
3. 學費性價比高
一個好的前端培訓機構肯定能給你帶來1+1>2的效果,如果你在一個由專業的前端教師領導並由前端培訓機構自己提供的平台上工作,你將獲得比以往更多的投資。
希望你早日學有所成。
H. web前端的課程設置
這是web前端的所有課程,要是感興趣的話可以了解一下:
計算機基礎
Office辦公自動化
Dreamweaver網頁設計
SQL server2008
JavaScript
HTML5+CSS3
動態網頁設計PHP+MYSQL
I. Web前端需要熟悉大學里[高大上]計算專業課嗎
隨著時代的變化,前端的功能不僅僅是簡單的地圖頁面製作。前端工程師的功能已經越來越全面和深入,前端技術的發展迫使我們需要有更高的職業素養。在這個時候,前端工程師首先是一名工程師。
在上學的時候,我也覺得前端學這些是沒意義的。不過在上這些課的時候,也仍然會根據自己的興趣去做一定的了解或者深入,說實話,知識大多是非常有趣的。而現在工作了,結果這些知識就馬上開始用上了。現在我在工作中已經使用到了一部分圖像識別和編譯原理的知識。
不過需要學的東西那麼多,也沒必要說需要將每一門都去做深做透,畢竟人的時間是有限的。除了陪可愛的女朋友,陪可愛的女朋友,陪可愛的女朋友之外,畢竟時間還是不多的。但是對於這些知識有一定程度的了解是有意義的,可以讓你有更強的決斷力來考慮一些更好的方案,並且做出一個些更有趣的東西。
J. 如何學習web前端開發技術的一點見解
前端前景是很不錯的,像前端這樣的專業還是一線城市比較好,師資力量跟得上、就業的薪資也是可觀的,學習前端可以按照路線圖的順序,
0基礎學習前端是沒有問題的,關鍵是找到靠譜的前端培訓機構,你可以深度了解機構的口碑情況,問問周圍知道這家機構的人,除了口碑再了解機構的以下幾方面:
1. 師資力量雄厚
2. 就業保障完善
3. 學費性價比高
希望你早日學有所成。