整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          JavaScript 開發(fā)人員的主要基本技能是?

          JavaScript 開發(fā)人員的主要基本技能是?

          序員之所以欣賞JavaScript軟件開發(fā),是因為他們能夠利用JavaScript構(gòu)建客戶喜歡的高度互動網(wǎng)站。

          作者 | PaulAzorín

          譯者 | 彎月,責(zé)編 | 劉靜

          出品 | CSDN(ID:CSDNnews)

          以下為譯文:

          如今,JavaScript非常流行,它非常靈活,被GitHub評為世界上最常用的編程語言。JavaScript在Web開發(fā)中占據(jù)了主導(dǎo)地位,大約有95%的網(wǎng)站都或多或少地使用了該語言。

          程序員之所以欣賞JavaScript軟件開發(fā),是因為他們能夠利用JavaScript構(gòu)建客戶喜歡的高度互動網(wǎng)站。他們可以創(chuàng)造出懸停菜單、動畫、視頻、幻燈片等功能的Web頁面。

          優(yōu)秀的JavaScript開發(fā)人員了解這種語言的來龍去脈。招聘經(jīng)理應(yīng)該確保求職者對以下主題有充分的了解,而且還能夠以通俗易懂的方式解釋給人聽。

          控制流

          對于JavaScript開發(fā)人員而言,控制流是至關(guān)重要的概念,其定義了計算機(jī)完成一組語句的順序。

          代碼歷來都是按順序讀取的:從上到下。然而,有些腳本會利用條件結(jié)構(gòu)來改變代碼的執(zhí)行順序。JavaScript開發(fā)人員可以將這些腳本融合到自己的網(wǎng)頁中,以提高響應(yīng)速度并杜絕通信上的浪費(fèi)。

          例如,如今大多數(shù)公司只接受求職者通過網(wǎng)絡(luò)遞交的申請和簡歷。求職者在網(wǎng)上選擇自己相中的職位,然后上傳簡歷,并通過填寫表格交代清楚自己的聯(lián)系方式和工作經(jīng)歷。

          JavaScript開發(fā)人員可以通過編寫腳本來警告用戶表格中的某些字段不能為空,同時拒絕不合法的表格,這可以讓網(wǎng)站更具響應(yīng)性并避免浪費(fèi)時間。

          在提交表格失敗后,申請人可以快速跳轉(zhuǎn)到漏掉的空白框(下方有一個顯眼的紅色標(biāo)記),填寫信息,然后重新提交表格。

          添加一個簡單的腳本就可以為求職者提供實時反饋,并且還可以防止求職者和HR專業(yè)人員在查找這些信息上浪費(fèi)時間。

          經(jīng)驗豐富的開發(fā)人員應(yīng)該能夠解釋條件結(jié)構(gòu)的優(yōu)點,并詳細(xì)說明如何將這類的腳本添加到網(wǎng)頁中。

          錯誤處理

          出錯再所難免,在軟件開發(fā)領(lǐng)域尤其如此,即使是經(jīng)驗最豐富和最受尊敬的程序員有時也會犯下嚴(yán)重的錯誤。

          研究表明,軟件工程師平均“每提交1000行代碼就會產(chǎn)生15-50個錯誤”。

          頂級的開發(fā)人員明白錯誤是不可避免的,而且他們知道如何找到錯誤并修復(fù)錯誤。面試官可以要求求職人員講述以往工作中出現(xiàn)的錯誤,以及他們找到解決方案的過程,這可以更多地了解他們解決問題的方法。

          函數(shù)

          JavaScript和其他流行的編程語言(比如Java和Python等)的一個重大區(qū)別在于:函數(shù)的使用方法。JavaScript的獨(dú)特之處在于它允許程序員在代碼中將函數(shù)作為獨(dú)立的個體。

          JavaScript編程更簡單,因為開發(fā)人員可以創(chuàng)建更簡短、更易讀的代碼。

          此外,由于JavaScript將函數(shù)視為基本對象,因此工程師可以創(chuàng)建高階函數(shù),并將某個函數(shù)作為參數(shù)傳遞給另一個函數(shù)。如此一來,程序員無需編寫更多代碼即可增加應(yīng)用程序的復(fù)雜性。

          范圍

          對JavaScript的作用域有深入的了解將有助于工程師編寫更具可讀性的代碼,并減少工作中的錯誤。

          JavaScript擁有兩種作用域:全局和局部。全局指的是無論變量位于何處,你都可以從代碼的任意位置讀取和編輯的該變量。

          另一方面,局部作用域指的是只能在函數(shù)中更改的變量。只有對這些術(shù)語有深入了解的JavaScript開發(fā)人員才能編寫良好的代碼,并通過嚴(yán)格的訪問級別來杜絕人為錯誤。

          在聘用JavaScript開發(fā)人員之前,經(jīng)理必須確保該開發(fā)人員對范圍以及如何提高最終軟件的質(zhì)量有扎實的了解。

          軟件的安全性

          數(shù)據(jù)隱私是高科技行業(yè)面臨的最重要的挑戰(zhàn)之一。數(shù)據(jù)泄露的數(shù)量每年都在持續(xù)增加,研究表明“平均每39秒”就有黑客闖入一臺計算機(jī)。

          許多公司選擇與國外的JavaScript開發(fā)公司合作,目的是為了尋找網(wǎng)絡(luò)開發(fā)項目的安全專家。但是,開發(fā)團(tuán)隊內(nèi)部的每個成員都對軟件安全負(fù)有不可推卸的責(zé)任。

          頂級的工程師應(yīng)當(dāng)對目前保障軟件安全的主要方法有扎實地了解,并且能夠清楚地闡明每種方法的優(yōu)點和缺點。

          招聘經(jīng)理應(yīng)該要求求職者講述保障軟件安全的方法,并詳細(xì)說明他們?nèi)绾卧谝酝捻椖恐写_保數(shù)據(jù)隱私。

          用戶設(shè)計

          用戶設(shè)計是所有軟件開發(fā)人員都應(yīng)該掌握的基本技能。對于JavaScript開發(fā)人員而言尤為如此,他們需要負(fù)責(zé)構(gòu)建美觀且功能強(qiáng)大的網(wǎng)站,這些網(wǎng)站必須在外觀和感覺上與消費(fèi)者產(chǎn)生共鳴。

          盡管用戶界面和體驗設(shè)計曾經(jīng)被視為專業(yè)人員的工作,但是現(xiàn)代軟件開發(fā)要求將最終用戶的考慮因素融入軟件開發(fā)生命周期的各個步驟。

          優(yōu)秀的程序員能夠進(jìn)行基本的市場研究,了解他們的目標(biāo)客戶,及時了解最新的用戶設(shè)計趨勢,并且還能夠展示如何在以往的項目中成功地創(chuàng)建了直觀且優(yōu)美的產(chǎn)品。

          總結(jié)

          JavaScript對于現(xiàn)代Web開發(fā)至關(guān)重要。程序員可以利用JavaScript輕松快速地構(gòu)建高度交互的網(wǎng)站、Web應(yīng)用程序和移動應(yīng)用。

          然而,并非所有開發(fā)人員團(tuán)隊都完全相同。如果公司打算招聘自家的開發(fā)人員(而不是外包JavaScript的開發(fā)),則招聘經(jīng)理必須具備根據(jù)知識和技術(shù)力來篩選候選人的能力。

          為了提高開發(fā)項目的成功率,高管可以徹查JavaScript開發(fā)人員對于編程語言的掌握程度、相關(guān)經(jīng)驗以及是否愿意進(jìn)一步深造自我。

          原文:https://hackernoon.com/the-top-essential-skills-for-javascript-developers-7x1935sl

          本文為 CSDN 翻譯,轉(zhuǎn)載請注明來源出處。

          【END】

          JS獲取瀏覽器屬性數(shù)據(jù)

          <h3>你目前所使用的瀏覽器的數(shù)據(jù):</h3>

          <div class="data">

          <script type="text/javascript">

          var userAgent=navigator.userAgent.toLowerCase();

          var browser=

          (browser=userAgent.match(/qqbrowser\/([\d.]+)/))?"qqbrowser/"+browser[1]:

          (browser=userAgent.match(/se\s+2.x/))?"sogou/2.x": //sougou

          (browser=userAgent.match(/msie\s+([\d.]+)/))?"msie/"+browser[1]: //ie

          (browser=userAgent.match(/chrome\/([\d.]+)/))?"chrome/"+browser[1]: //chrome

          (browser=userAgent.match(/firefox\/([\d.]+)/))?"firefox/"+browser[1]: //firefox

          (browser=userAgent.match(/version\/([\d.]+)\s+safari\/([\d.]+)/))?"safari/"+browser[1]: //safari

          (browser=userAgent.match(/opera\/([\d.]+)([\w\W]+)version\/([\d.]+)/))?"opera/"+browser[3]: //opera

          "other browser";

          //以上是條件運(yùn)算符“?:"的嵌套使用

          var browser4=browser.substr(0,6);

          document.write("<table>");

          document.write("<tr><td>" + "Browser:" + "</td>");

          document.write("<td>" + browser4 + "</td></tr>" );

          document.write("<tr><td>" + "Browser Version:" + "</td>");

          document.write("<td>" + browser + "</td></tr>" );

          document.write("<tr><td>" + "userAgent:" + "</td>");

          document.write("<td>" + userAgent + "</td></tr>" );

          var appVersion=navigator.appVersion.toLowerCase();

          document.write("<tr><td>" + "appVersion:" + "</td>");

          document.write("<td>" + appVersion + "</td></tr>" );

          var appCodeName=navigator.appCodeName.toLowerCase();

          document.write("<tr><td>" + "appCodeName:" + "</td>");

          document.write("<td>" + appCodeName + "</td></tr>" );

          var appName=navigator.appName.toLowerCase();

          document.write("<tr><td>" + "appName:" + "</td>");

          document.write("<td>" + appName + "</td></tr>" );

          //var language=navigator.language.toLowerCase(); (ie下無此屬性)

          //document.write("language:" + language + "<br>" );

          var platform=navigator.platform.toLowerCase();

          document.write("<tr><td>" + "platform:" + "</td>");

          document.write("<td>" + platform + "</td></tr>" );

          document.write("</table>");

          </script>

          </div>

          使用chrome顯示網(wǎng)頁內(nèi)容如下:

          使用firefox顯示網(wǎng)頁內(nèi)容如下:

          2 JS獲取窗口數(shù)據(jù)

          <h3>瀏覽器窗口數(shù)據(jù):</h3>

          <div class="data">

          <table>

          <col width="50%" />

          <col width="50%" />

          <tr><td>右邊的數(shù)據(jù)反映瀏覽器窗口高寬的數(shù)據(jù)(單位是px,不包括上端的菜單欄和工具欄,也不包括下端的狀態(tài)欄;按F11全屏顯示或“還原”按鈕并調(diào)整大小也會有不同的數(shù)據(jù)反饋。)</td>

          <td>

          <form action="#" method="get" name="form1" id="form1">

          <!--顯示瀏覽器窗口的實際尺寸-->

          <p>瀏覽器窗口的實際高度: <input type="text" name="availHeight" size="4"/> </p>

          <p>瀏覽器窗口的實際寬度: <input type="text" name="availWidth" size="4"/> </p>

          </form>

          </td></tr></table>

          </div>

          <script type="text/javascript">

          var winWidth=0;

          var winHeight=0;

          function findDimensions() //函數(shù):獲取尺寸

          {

          //獲取窗口寬度

          if (window.innerWidth)

          winWidth=window.innerWidth;

          else if ((document.body) && (document.body.clientWidth))

          winWidth=document.body.clientWidth;

          //獲取窗口高度

          if (window.innerHeight)

          winHeight=window.innerHeight;

          else if ((document.body) && (document.body.clientHeight))

          winHeight=document.body.clientHeight;

          //通過深入Document內(nèi)部對body進(jìn)行檢測,獲取窗口大小

          if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth)

          {

          winHeight=document.documentElement.clientHeight;

          winWidth=document.documentElement.clientWidth;

          }

          //結(jié)果輸出至兩個文本框

          document.form1.availHeight.value=winHeight;

          document.form1.availWidth.value=winWidth;

          }

          findDimensions();

          //調(diào)用函數(shù),獲取數(shù)值

          window.onresize=findDimensions;

          </script>

          使用chrome顯示網(wǎng)頁內(nèi)容如下:

          使用firefox顯示網(wǎng)頁內(nèi)容如下:

          -End-

          單是網(wǎng)頁中一個特定的區(qū)域,用來描述需要用戶輸入的頁面內(nèi)容,在用戶輸入具體信息后,提交到指定位置進(jìn)行處理。

          HTML 文檔使用 form 標(biāo)簽表示表單,其下有:

          • input 標(biāo)簽:用于為 Web 的表單創(chuàng)建交互式控件,用來接收用戶的數(shù)據(jù),它可以接收的數(shù)據(jù)類型很多,有文本內(nèi)容、密碼框等多種數(shù)據(jù)類型。
          • select 和 option 標(biāo)簽:select 和 option 標(biāo)簽實現(xiàn)下拉列表框,select 標(biāo)簽用于顯示可供用戶選擇的下拉列表,其中的每個選項都由 option 標(biāo)簽標(biāo)識。

          form 標(biāo)簽表示表單。form 標(biāo)簽有兩個重要的屬性,actionmethod 屬性,其中 action 的屬性值是表單提交的地址,method 的屬性值是提交的方法。

          其基本語法為:

          <form action="表單提交地址" method="提交方法"></form>

          method 屬性規(guī)定了表單提交方式,最常用的有兩種方式,分別是 GETPOST

          GET 是把表單中的參數(shù)放置在 HTTP 請求的頭部發(fā)送給服務(wù)器。POST 是將請求參數(shù)置于請求體內(nèi)發(fā)送。這部分內(nèi)容屬于 JavaScript 的內(nèi)容,同學(xué)們先了解即可,在后面的章節(jié)會詳細(xì)講解。

          選擇類表單元素是指單選框復(fù)選框

          • 單選框就是給出多個選項只能選擇其中一個。
          • 復(fù)選框就是給出多個選項可以選擇多個。

          單選框和復(fù)選框的使用格式如下所示:

          <!--單選框-->
          <input type="radio" name="選項名" value="提交值" />
          <!--復(fù)選框-->
          <input type="checkbox" name="選項名" value="提交值" />
           
            <!--重置按鈕,可以把表單中已填寫的信息給清除掉。-->
            <input type="reset" />

          注意:使用單選框時,每個選項一定要設(shè)置相同的 name 值,否則就沒有單選的效果。

          使用 type="file" 表示文件類型表單元素,其使用格式為:

          <input type="file" name="表單名字" accept="上傳文件的格式" />

          使用 type="submit" 表示發(fā)送類型表單元素,其使用格式為:

          <input type="submit" name="表單名字" value="表單名" />

          在 HTML 中,通過 selectoption 標(biāo)簽可以實現(xiàn)下拉列表框,select 標(biāo)簽用于顯示可供用戶選擇的下拉列表,其中的每個選項都由 option 標(biāo)簽標(biāo)識。

          其語法格式為:

          <select>
            <option>選項一</option>
            <option>選項二</option>
            <option>選項三</option>
          </select>

          select 有兩個常用屬性,如下所示:

          屬性

          描述

          multiple

          設(shè)置下拉列表可以選擇多項。

          size

          設(shè)置下拉列表選擇幾個表項。

          option 有兩個常用屬性,如下所示:

          屬性

          描述

          selected

          設(shè)置是否被選中。

          value

          設(shè)置列表項的默認(rèn)值。

          password 類型是密碼輸入框,其用法如下所示:

          <input type="password" />

          textarea 標(biāo)簽是多行文本標(biāo)簽,其用法如下所示:

          <textarea name="名稱" cols="列數(shù)" rows="行數(shù)"></textarea>

          內(nèi)嵌框架是指在當(dāng)前的頁面中再嵌入另外一個或多個網(wǎng)頁。在 HTML 中,使用 iframe 標(biāo)簽來實現(xiàn)一個內(nèi)嵌框架。

          基本語法:

          <iframe src="內(nèi)嵌頁面的鏈接地址" name="框架名"></iframe>

          內(nèi)嵌框架的常用屬性:

          屬 性

          可 取 值

          描 述

          frameborder

          0、1

          規(guī)定是否顯示框架周圍的邊框

          height

          pixels

          定義框架高度

          width

          pixels

          定義框架寬度

          name

          自定義

          框架名,用于超鏈接操作

          scrolling

          yes、no、auto

          規(guī)定是否在框架中顯示滾動條

          src

          引用頁面地址

          內(nèi)嵌頁面地址


          主站蜘蛛池模板: 91成人爽a毛片一区二区| 国产乱人伦精品一区二区在线观看| 韩国理伦片一区二区三区在线播放| 亚洲国产精品一区二区三区久久 | 国内精品一区二区三区在线观看| 麻豆一区二区99久久久久| 亚洲国产一区二区a毛片| 美女福利视频一区| 无码精品黑人一区二区三区| 国产成人无码精品一区二区三区| 日韩有码一区二区| 中文字幕国产一区| 久久se精品一区精品二区| 亚洲AV无码一区二区二三区入口| 人妻体内射精一区二区三区 | 在线免费视频一区| 东京热无码一区二区三区av | 麻豆一区二区三区精品视频| 亚洲爆乳精品无码一区二区| 视频在线一区二区三区| 日本一区二区三区在线观看| 中文字幕日韩一区二区不卡| 欧亚精品一区三区免费| 色老板在线视频一区二区| 亚洲高清一区二区三区| 欧洲精品无码一区二区三区在线播放| 亚洲国产成人一区二区精品区| 糖心vlog精品一区二区三区| 国产精品亚洲不卡一区二区三区 | 波多野结衣AV一区二区三区中文| 精彩视频一区二区三区| 91视频国产一区| 国产精久久一区二区三区| 亚洲AV无码国产一区二区三区| 伦理一区二区三区| 日本视频一区二区三区| 亚洲熟女www一区二区三区| 99偷拍视频精品一区二区 | 人妻无码视频一区二区三区| 精品视频一区二区三区在线播放| 久久精品视频一区二区三区|