目录
2. js引擎是单线程-----同一时间只能做一件事
3. 主流浏览器----shell和内核
4. js基础知识点
以上内容为看查阅资料视频学习以及结合个人实践理解总结,如有侵犯并非有意,可通知我进行修改。
首页 web前端 js教程 js编译语言与解释型语言详解

js编译语言与解释型语言详解

Mar 17, 2018 pm 05:02 PM
javascript 解释 详解

本文主要和大家分享js基础知识---编译语言与解释型语言,希望能帮助到大家。

1、原始型类型与引用型1. 编译语言与解释型语言的区别

编译型语言:通篇先编译出一个文件,程序会自动执行这个文件。

优点:快;

缺点:不能跨平台。

服务器要求稳定性强,用Linux系统,客户端大多数使用Windows,产生跨平台问题,编译型语言生成的编译文件无法同时多个平台执行。

解释型语言:编译一句执行一句,没有编译文件,相当于直接编译成1010机器语言,然后执行。

优点:跨平台;

缺点:稍微慢。

注意:java严格意义上不算编译语言也不是解释型语言,编译出文件后,java虚拟机解释执行,使java可跨平台。

2. js引擎是单线程-----同一时间只能做一件事

异步----多件事同时执行;同步----等待一件事完成,再做另一件事。

轮转时间片:js看似在同时执行两个动画,实际上是js将两个动画的过程分为无数个稀小的时间片段形成一个栈,每次执行其中一个,争抢时间片没有先后顺序,顺序随机。然后就按栈的顺序执行动画,看似两个都在动而已。

3. 主流浏览器----shell和内核

IE----trident;   Chrome-----webkit/blink;   firefox---Gecko;   safari----webkit;    Opera---presto

4. js基础知识点

a 变量名可以由$ _  英文 数字组成,但是首字母只能是$ _ 英文,另外取名避开特殊含义的单词,同时兼顾语义性。

b 原始值:null undefined string number boolean ;   引用值:object array function (其实就是对象类型)

原始值---赋值相当于是给一个复制品放在新的变量里,如果给已经赋值的变量再次赋值,实际上会在内存里将该变量与原来的值切断索引关系,再次在内存里新的地方开一块地方索引为这个变量名,值为新的值。ps 直到内存提示满了,你清空一部分东西,然后再存东西,才会覆盖原先的地方。

var num = 1;
var num1 = num;
num = 2;
console.log(num,num1); //2,1。。。。但是这个num已经不是原来的num了
登录后复制

引用值---相当于是在栈里索引值为这个变量名,值为堆里存这个真正的值的地址,堆里索引为地址,值为真正需要的值,所以变量赋值的时候,相当于是把栈里的值(地址---堆的索引)赋值给新的变量,导致两个变量同时指向一个地址,那么改变这个地址里的东西就会造成两个变量的值都改变。ps 如果给变量赋值(一个新的引用值或者原始值),那么另一个变量不会改变,相当于在堆里重新开一块地方,把这个地址给了变量,另一个变量的地址还是不变。

var arr=[1,2];
var arr1=arr;
arr.push(3);//改变同一个地址的arr的内容,两个变量都会改变
console.log(arr,arr1);//[1,2,3],[1,2,3]
arr=[1];//给arr重新赋值了一个地址,arr1的地址不会发生改变,还是原来的地址
console.log(arr,arr1)//[1],[1,2,3]
登录后复制

具体可以看图,原始值赋值,就是复制一份给另一个变量。引用值就是复制地址给另一个变量,修改这个地址里的东西,会导致两个变量的值都发生改变,引用值重新赋值,相当于重新在栈里开一块内容,然后新给一个地址,不影响另一个元素,并且原来的内存的地方其实还是占用的,只是变回了默认索引,找不到而已。

360截图20180317170252806.jpg

c : 1/0----Infinity(Number型)    0/0---NaN (Number型)   

d : ++a在所在的当前语句前执行a+1,a++在当前语句执行完再执行a+1。即(++a)等于a等于(a+1),(a++)等于a原来的值,a=a+1

以上内容为看查阅资料视频学习以及结合个人实践理解总结,如有侵犯并非有意,可通知我进行修改。

以上是js编译语言与解释型语言详解的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

2.8k屏幕是什么解析 2.8k屏幕是什么解析 Jan 02, 2024 pm 12:21 PM

我们经常会在购买电视,电脑或者手机时看到多少K屏幕这种介绍,例如2.8K屏幕。每当这个时候就会有对电子设备不太了解的小伙伴好奇这个2.8K屏幕到底是什么意思,分辨率又是什么。2.8k屏幕什么意思答:2.8k屏幕的意思是屏幕的分辨率为2880*18002K就是横向像素点数量大于2000,相同大小的屏幕,分辨率越高画面质量越好。分辨率介绍1、由于屏幕上的点、线和面都是由像素组成的,显示器可显示的像素越多,画面就越精细,同样的屏幕区域内能显示的信息也越多。2、分辨率越高,像素的数目越多,感应到的图像越

Win11管理员权限获取详解 Win11管理员权限获取详解 Mar 08, 2024 pm 03:06 PM

Windows操作系统是全球最流行的操作系统之一,其新版本Win11备受瞩目。在Win11系统中,管理员权限的获取是一个重要的操作,管理员权限可以让用户对系统进行更多的操作和设置。本文将详细介绍在Win11系统中如何获取管理员权限,以及如何有效地管理权限。在Win11系统中,管理员权限分为本地管理员和域管理员两种。本地管理员是指具有对本地计算机的完全管理权限

Oracle SQL中的除法运算详解 Oracle SQL中的除法运算详解 Mar 10, 2024 am 09:51 AM

OracleSQL中的除法运算详解在OracleSQL中,除法运算是一种常见且重要的数学运算操作,用于计算两个数相除的结果。除法在数据库查询中经常用到,因此了解OracleSQL中的除法运算及其用法是数据库开发人员必备的技能之一。本文将详细讨论OracleSQL中除法运算的相关知识,并提供具体的代码示例供读者参考。一、OracleSQL中的除法运算

PHP模运算符的作用及用法详解 PHP模运算符的作用及用法详解 Mar 19, 2024 pm 04:33 PM

PHP中的模运算符(%)是用来获取两个数值相除的余数的。在本文中,我们将详细讨论模运算符的作用及用法,并提供具体的代码示例来帮助读者更好地理解。1.模运算符的作用在数学中,当我们将一个整数除以另一个整数时,会得到一个商和一个余数。例如,当我们将10除以3时,商为3,余数为1。模运算符就是用来获取这个余数的。2.模运算符的用法在PHP中,使用%符号来表示模

linux系统调用system()函数详解 linux系统调用system()函数详解 Feb 22, 2024 pm 08:21 PM

Linux系统调用system()函数详解系统调用是Linux操作系统中非常重要的一部分,它提供了一种与系统内核进行交互的方式。其中,system()函数是一个常用的系统调用函数之一。本文将详细介绍system()函数的使用方法,并提供相应的代码示例。系统调用的基本概念系统调用是用户程序与操作系统内核交互的一种方式。用户程序通过调用系统调用函数来请求操作系统

Linux的curl命令详解 Linux的curl命令详解 Feb 21, 2024 pm 10:33 PM

Linux的curl命令详解摘要:curl是一种强大的命令行工具,用于与服务器进行数据通信。本文将介绍curl命令的基本用法,并提供实际的代码示例,帮助读者更好地理解和应用该命令。一、curl是什么?curl是一个命令行工具,用于发送和接收各种网络请求。它支持多种协议,如HTTP、FTP、TELNET等,并提供了丰富的功能,如文件上传、文件下载、数据传输、代

简易JavaScript教程:获取HTTP状态码的方法 简易JavaScript教程:获取HTTP状态码的方法 Jan 05, 2024 pm 06:08 PM

JavaScript教程:如何获取HTTP状态码,需要具体代码示例前言:在Web开发中,经常会涉及到与服务器进行数据交互的场景。在与服务器进行通信时,我们经常需要获取返回的HTTP状态码来判断操作是否成功,根据不同的状态码来进行相应的处理。本篇文章将教你如何使用JavaScript获取HTTP状态码,并提供一些实用的代码示例。使用XMLHttpRequest

详细解析C语言学习路线 详细解析C语言学习路线 Feb 18, 2024 am 10:38 AM

C语言作为一门广泛应用在软件开发领域的编程语言,是很多程序员初学者的首选。学习C语言不仅可以帮助我们建立编程的基础知识,还可以提升我们解决问题和思考的能力。本文将详细介绍一条C语言学习的路线图,帮助初学者更好地规划自己的学习进程。1.学习基本语法在开始学习C语言之前,我们首先需要了解C语言的基本语法规则。这包括变量和数据类型、运算符、控制语句(如if语句、

See all articles