从基础到精通--javascript语言
javascript是一种具有面向对象能力的、解释型的程序设计语言。它是基于对象和时间驱动,并具有相对安全性的客户端脚本语言。因为它并不需要在一个语言环境下运行,只需要有支持它的浏览器即可,它的主要目的是验证发往服务器断的数据,增加web互动,加强用户体验。
解释型语言与编译型语言的区别
解释型语言:这种是在运行的时候就将程序编译成机器语言。
编译型语言:这种是在运行程序钱有一个编译过程,但是并不是将程序编译成机器语言,而是编译成字节码。例如java语言在运行的时候,由JVM将字节码在翻译成机器语言。JVM是java虚拟机,是一个虚构出的计算机。
但是解释型语言在编译的效率上要比编译型语言要慢,javascript是一种解释型语言。它在将程序放在浏览器上解析的时候,js在浏览器上自己的解释引擎。javascript v8引擎。浏览器核心把js编译成view要进行“词法分析”,“语法分析”,“代码生成”三个阶段。这是明显的编译型语言特征。详见《犀牛书第二章》《你不知道的javascript》第一章。
java代码由JVM执行
javascript是由javascript解释器执行
每个浏览器的并不一样,一般都包含在各浏览器的内核中
浏览器内核一般包含两个引擎:页面排版引擎 和 JS引擎
IE的 使用的自己的Trident 内核
FireFox 是Gecko内核
Opera 是Presto内核
Safari 使用的Webkit 内核
Chrome 是Google自己的 javascript V8引擎 而其页面排版采用的Webkit 内核
javascript是脚本语言,脚本语言也是解释型语言,脚本语言不需要编译,直接由解释器来解释即可。从刚才的javascript是编译型语言的论据来看,javascript也是编译型语言。就不能一概而论是脚本语言。认识脚本语言的方式很简单。
编写一个程序叫xxx.exe,点击.exe可以打开.aa为扩展名的文件。那么你就是为.aa的文件编写指定了规则,这就是脚本所做的事情与关系,通过指令去让程序按照顺序执行。
javascript在浏览器内核的关系与原理认识
浏览器解析渲染页面原理:
说起这个肯定要提到大家比较熟悉的webkit,谷歌浏览器的渲染引擎。在其他浏览器中的渲染引擎并不相同,每个浏览器的内核引擎都不一致,所以导致了现在我们在编写html代码做页面结构布局的过程中要做很多关于各大浏览器的兼容性问题。
浏览器最重要最核心的部分则是解释引擎也就是浏览器内核。一个网页正常的工作需要用到两个引擎:渲染引擎和解释引擎。兼容性的各种写法都是针对于这些浏览器内核引擎去做的。于是现在的主流浏览器内核有哪些呢?
目前市场上的四大主流浏览器
IE
所使用的浏览器内核为 Trident(四大内核中处理速度最慢)
由于window市场的占有率,IE浏览器借助其地位造成了Trident内核一家独大的情况,因为这种情况出现,微软也长时间没有去对Trident做过更新,Trident出现了与W3C标准的脱节问题与大量BUG和安全性问题无法解决,直接导致了FireFox浏览器的崛起。但是因为其市场占有率的原因,现在作为前端开发工程师最头痛的兼容处理还是针对于IE的一些低版本。
FireFox
所使用的浏览器内核为 Gecko
开放源码,运行处理速度快。开源的东西总是容易受到广大猿类的欢迎!而且使用Gecko的浏览器也非常多,一般是用在一些国外的浏览器上。国内不作多的考虑!
Opera
所使用的浏览器内核为 presto
最凶残解释引擎!网页排版引擎。为了渲染速度的提高做了极高优化,简单来讲就是为了效率为了速度不顾一切。但是有得必有失,速度是牺牲了兼容性才得来的。毋庸置疑,它是在所有浏览器内核解析javascript速度是最快的。但是到如今因为前端的发展速度太快,一切以用户体验为先,不能在以牺牲兼容性换取速度。Opera停用了presto改用了谷歌的Blink内核。
Chrome
所使用的浏览器内核为 webkit渲染引擎 javascript v8解释引擎
应该讲的在上面都已经解释过了,这里就不作多解释了。这个也是很多人开始学习前端和广大前端工程师比较喜好的一个浏览器Chrome浏览器的内核。它是苹果公司自己的内核。
壳浏览器:
使用IE内核而非IE浏览器,这类浏览器被称之为“套壳浏览器”。出现的原因是因为Trident是一款开放的内核,所以国内市场上出现了大量的这种壳浏览器。例如360、腾讯TT、猎豹、遨游之类,采用双核内甚至多核的方式,在其中有一个为Trident内核,其他的在添加其他内核。国内的浏览器厂商一般把这种情况分为两种,“高速浏览模式”与“兼容浏览模式”,以供用户来回切换使用,其中IE内核Trident则是“兼容浏览模式”,因为国内的厂商所套用的IE内核版本都不会很高,跟不上Trident的迭代更新的速度,低版本的IE内核体积过小,方便用户下载。所以从发展之初便被广泛捆绑安装使用,直到发展到现在,安全性也会有一定的问题。
诸如以上众多问题的提出,一步一步的解决和认知。我们知道了什么是解释型语言,什么是编译型语言。通过解释型语言认识了浏览器内核,它们之间的一些区别与我们平时写代码的过程中息息相关的事情。在web前端的学习过程中或者说是在不断的提升自己的过程中,理解并且认识javascript一定是最为重要的。在javascript的发展过程中,也许在之前很多的朋友认为javascript有没有必要去潜心学习?从当下开始,如果有人像你咨询,想要学习一门语言或者是想要掌握一门新的语言,你需要向他推荐javascript,一定是javascript。从jQuery的出现第一次带动javascript的发展,到html5让javascript真正的做到让人们认识,再到现在的nodejs。彻底的颠覆了之前大部分人对于javascript的一些看法。这些新型的框架出现让javascript真正的潜力无限!
html5就是javascript的高级内容进阶部分
现在还是有很多人把html5与html相关联,它们之间有相关性吗?不过是做了一些优化,添加了一些新的标签,新的标签也不难理解方便使用,为什么就被定义成html基础部分了呢?
html5的真正威力是在于你能通过javascript来创建标签,利用内核的两种特性去分别解释与渲染,canvas被人所熟知也是因为其功能强大,动画、特效、游戏、数据的可视化。都是需要通过javascript与后台的支持才能有其效果。所有的一切都要归功与javascript。webgl支持html5画布绘制3D图像效果。html5的地理位置支出在浏览器中显示则是LBS应用等等。javascript与文档型数据库的对接做到了太多的不可能。ECMAscript版本的不断迭代更新,出现了太多太多以其为基础的js框架,vuejs、angularjs、reactjs...
Atas ialah kandungan terperinci 从基础到精通--javascript语言. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Teknologi pengesanan dan pengecaman muka adalah teknologi yang agak matang dan digunakan secara meluas. Pada masa ini, bahasa aplikasi Internet yang paling banyak digunakan ialah JS Melaksanakan pengesanan muka dan pengecaman pada bahagian hadapan Web mempunyai kelebihan dan kekurangan berbanding dengan pengecaman muka bahagian belakang. Kelebihan termasuk mengurangkan interaksi rangkaian dan pengecaman masa nyata, yang sangat memendekkan masa menunggu pengguna dan meningkatkan pengalaman pengguna termasuk: terhad oleh saiz model, ketepatannya juga terhad. Bagaimana untuk menggunakan js untuk melaksanakan pengesanan muka di web? Untuk melaksanakan pengecaman muka di Web, anda perlu biasa dengan bahasa dan teknologi pengaturcaraan yang berkaitan, seperti JavaScript, HTML, CSS, WebRTC, dll. Pada masa yang sama, anda juga perlu menguasai visi komputer yang berkaitan dan teknologi kecerdasan buatan. Perlu diingat bahawa kerana reka bentuk bahagian Web

Analisis peranan dan prinsip nohup Dalam sistem pengendalian seperti Unix dan Unix, nohup ialah arahan yang biasa digunakan yang digunakan untuk menjalankan arahan di latar belakang Walaupun pengguna keluar dari sesi semasa atau menutup tetingkap terminal, arahan itu boleh masih terus dilaksanakan. Dalam artikel ini, kami akan menganalisis fungsi dan prinsip arahan nohup secara terperinci. 1. Peranan nohup: Menjalankan arahan di latar belakang: Melalui arahan nohup, kita boleh membiarkan arahan yang berjalan lama terus dilaksanakan di latar belakang tanpa terjejas oleh pengguna yang keluar dari sesi terminal. Ini perlu dijalankan

Analisis prinsip dan penerokaan praktikal rangka kerja Struts Sebagai rangka kerja MVC yang biasa digunakan dalam pembangunan JavaWeb, rangka kerja Struts mempunyai corak reka bentuk dan skalabiliti yang baik dan digunakan secara meluas dalam pembangunan aplikasi peringkat perusahaan. Artikel ini akan menganalisis prinsip rangka kerja Struts dan menerokanya dengan contoh kod sebenar untuk membantu pembaca memahami dan menggunakan rangka kerja itu dengan lebih baik. 1. Analisis prinsip rangka kerja Struts 1. Seni bina MVC Rangka kerja Struts adalah berdasarkan MVC (Model-View-Con

MyBatis ialah rangka kerja lapisan ketekunan Java yang popular yang digunakan secara meluas dalam pelbagai projek Java. Antaranya, sisipan kelompok adalah operasi biasa yang boleh meningkatkan prestasi operasi pangkalan data dengan berkesan. Artikel ini akan meneroka secara mendalam prinsip pelaksanaan Sisipan kelompok dalam MyBatis, dan menganalisisnya secara terperinci dengan contoh kod khusus. Sisipan Batch dalam MyBatis Dalam MyBatis, operasi Sisipan kelompok biasanya dilaksanakan menggunakan SQL dinamik. Dengan membina S yang mengandungi berbilang nilai yang dimasukkan

MyBatis ialah rangka kerja lapisan kegigihan yang sangat baik yang menyokong operasi pangkalan data berdasarkan XML dan anotasi Ia mudah dan mudah digunakan, dan juga menyediakan mekanisme pemalam yang kaya. Antaranya, pemalam paging adalah salah satu pemalam yang lebih kerap digunakan. Artikel ini akan menyelidiki prinsip pemalam paging MyBatis dan menggambarkannya dengan contoh kod khusus. 1. Prinsip pemalam paging MyBatis sendiri tidak menyediakan fungsi paging asli, tetapi anda boleh menggunakan pemalam untuk melaksanakan pertanyaan paging. Prinsip pemalam paging adalah terutamanya untuk memintas MyBatis

Perintah chage dalam sistem Linux ialah perintah yang digunakan untuk mengubah suai tarikh tamat kata laluan akaun pengguna Ia juga boleh digunakan untuk mengubah suai tarikh terpanjang dan terpendek yang boleh digunakan bagi akaun tersebut. Perintah ini memainkan peranan yang sangat penting dalam mengurus keselamatan akaun pengguna dengan berkesan boleh mengawal tempoh penggunaan kata laluan pengguna dan meningkatkan keselamatan sistem. Cara menggunakan arahan chage: Sintaks asas perintah chage ialah: chage [option] nama pengguna Contohnya, untuk mengubah suai tarikh tamat kata laluan pengguna "testuser", anda boleh menggunakan arahan berikut

Hubungan antara js dan vue: 1. JS sebagai asas pembangunan Web; 2. Kebangkitan Vue.js sebagai rangka kerja hadapan 3. Hubungan pelengkap antara JS dan Vue; Vue.

Alat RPM (RedHatPackageManager) dalam sistem Linux ialah alat yang berkuasa untuk memasang, menaik taraf, menyahpasang dan mengurus pakej perisian sistem. Ia ialah alat pengurusan pakej yang biasa digunakan dalam sistem RedHatLinux dan juga digunakan oleh banyak pengedaran Linux yang lain. Peranan alat RPM adalah sangat penting Ia membolehkan pentadbir sistem dan pengguna menguruskan pakej perisian dengan mudah pada sistem. Melalui RPM, pengguna boleh memasang pakej perisian baharu dan menaik taraf perisian sedia ada dengan mudah
