js基础知识---编译语言与解释型语言,原始型类型与引用型

了解JavaScript JavaScript 的基本特点 JavaScript 是解释性的,基于对象的脚本语言。它有下面几个显著特点, 这几个特点在后面的面向对象特性模拟中会反复用到, 因此这里先详细说明这几 个特点。 解释型语言:JavaScript 是一种解释性语言,解释性语言相对于编译 型语言,编译型语言必须先通过编译才能执行,而解释性语言不需要编 译,直接从上到下解释执行,一边解释一边执行,这就决定了解释性语 言的代码是有先后顺序的,需要执行的代码必须已经解释过。因此, JavaScript ... 阅读详情
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]

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

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

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

JavaScript:一种解释性编程语言 虽然JavaScript是一种解释性语言,但现代JavaScript引擎(如V8引擎)通常会执行一些优化措施,以提高代码的执行效率。其中一项重要的优化技术是即时编译(Just-In-Time Compilation,JIT Compilation),它将热点代码(被频繁执行的代码)编译成机器码,以便在后续执行中直接运行,从而提升性能。总结而言,尽管JavaScript是一种解释性编程语言,它的代码在运行之前会经过解释器的解释执行。解释执行:解释器从语法树的根节点开始遍历,逐个执行相应的操作。 阅读详情

相关推荐

CH569 USBSS库函数分析

CH569 USB3.0 解析

havc_W的博客 7685

前端JavaScript篇之解释性语言和编译型语言的区别

解释性语言是一种在运行时逐行解释并执行代码的语言。它不需要预先将源代码转换为机器码,而是通过一个解释器逐行读取和执行代码。

星辰迷上大海的博客 1450

通义万相Wan2.1模型Lora训练以及推理

使用DiffSynth-Studio进行通义万象Wan2.1的Lora训练和推理

qq_64858624的博客 4604

JavaScript是解释型语言--V8、JIT

技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

m0_61549953的博客 1107

ECharts 实现世界地图

效果图 源代码(仅供参考) <template> <div class="echarts"> <div class="className" id="id" style="width: 100%; height: 450px" ref="myEchart" ></div> </div> </template> <script lang="ts"> imp

EsquireY的博客 4874

实战篇【2】-H3C防火墙开局基础配置

本篇文章为“H3C防火墙开局基础配置”,主要涵盖配置管理地址、聚合端口、安全区域、安全策略、静态路由、ACL,WEB和SSH远程管理、Console、SNMP、NTP时钟、日志主机等内容,对比交换机配置开局,增加两处配置,安全区域和安全策略。方便调试人员远程管理、调试。

weixin_47402139的博客 1万+

JavaScript解释型语言

js脚本运行三部分: 1. 语法分析:在代码执行前对代码进行语法检查,排除一些低级错误; 2. 预编译:简单理解就是在内存中开辟一些空间,存放一些声明变量与函数; 3. 解释执行:执行代码; 预编译阶段发生变量声明var和函数声明function,没有初始化行为(赋值),匿名函数不参与预编译,只有在解释执行阶段才会进行变量初始化; ...

qq_46162194的博客 837

【IIC通信】Chap.1(I2C)IIC通信原理、IIC读写时序详解

IIC通信以两根连线SDA、SCL实现了完善的全双工同步数据传送, 可以方便地构成多机系统和外围器件扩展系统。

Jie_MSD的博客 2万+

javascript是解释型还是编译型

javascript是解释型的。javascript是一种具有函数优先的轻量级,解释型或即时编译型的脚本语言;使用JavaScript编写的代码不需要编译,可以直接运行,浏览器会直接解释源代码,并执行在内存中创建变量等操作。 本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。 什么是解释型?什么是编译型? 编译型语言是把源代码先编译为机器码(也就是所谓的可执行程序,比如windows系统的exe文件),运行的时候电脑只需直接把机器码交给CPU执行即可。.

weixin_39664733的博客 2142

数字IC行业笔试面试全攻略

数字IC行业迎来快速发展,国产替代加速,技术创新活跃,应用领域持续扩展,但人才缺口扩大。职业发展路径清晰,从初级到首席工程师/架构师的技术路线,或转向管理岗位。薪资待遇优厚,应届生起薪25-35W,5-10年经验可达70-110W,架构师年薪超百万。薪资受公司平台、技术方向、学历背景、项目经验和地域因素影响。AI芯片、汽车电子等热门方向溢价明显,成功流片经验尤其重要。

2301_79143213的博客 759

【问题解决】解决 Python `PermissionError` 权限不足:文件/进程/端口全场景修复

本文总结了Python程序中常见的权限问题及解决方案,包括文件、进程和端口权限错误。文件权限问题通常由文件占用、权限不足或路径错误引起;进程问题多因权限不足或系统限制;端口问题则与端口占用、防火墙或特权端口相关。解决方案提供了详细的代码实现:文件权限管理器类(FilePermissionManager)包含检查权限(check_permission)、修复权限(fix_permission)、安全写入(safe_write)和安全删除(safe_delete)等方法,通过异常处理和临时文件等技术确保操作安全

博客 358

JavaScript是解释型语言--V8、JIT,干货

推荐一些系统学习的途径和方法。每个Web开发人员必备,很权威很齐全的Web开发文档。作为学习辞典使用,可以查询到每个概念、方法、属性的详细解释,注意使用英文关键字搜索。里面的一些 HTML,CSS,HTTP 技术教程也相当不错。

fdsgdsgdfw的博客 1132

当AI写小说——一个被严重低估的工程化战场

摘要 AI小说创作远非简单的prompt生成,而是一项需要系统化工程管理的复杂任务。本文通过真实案例分析,揭示了当前AI写小说存在的五大核心难题:设定一致性难以维持、文风控制缺乏个性、爽感节奏难以把握、长篇记忆能力有限以及平台规则适配困难。研究显示,90%的失败案例源于错误的创作方法,主要表现为对话框式随机生成和模板式同质化创作。要实现高质量的AI小说创作,必须建立包括设定治理、记忆管理、文风校准等在内的全链路工程化体系,而非依赖单一prompt指令。只有采用系统化的人机协同方法,才能突破当前AI创作的质量

sellyogurt的博客 683

JS(JavaScript)语言简介

先声明JS语言虽然叫JavaScript都是是它和Java语言没有任何关系。它们是两种完全不同的语言。

weixin_72280926的博客 2941

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

《JavaScript入门--初识JavaScript》

1. JavaScript是什么 JavaScript(通常缩写为JS)是一种高级的、解释型的编程语言。JavaScript是一门基于原型、头等函数的语言,是一门多范式的语言,它支持面向对象程序设计,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持I/O,比如网络、存储和图形等,但这些都可以由它的宿主环境提供支持。它已经由ECMA(欧洲电脑制造商协会)通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、Fire

qq_43005544的博客 416

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

JavaScript

JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。

高飞的博客 31万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

js是弱类型,动态语言,静态作用域,(带jit的)解释型语言。

1、先看个问题 functionfunc(age){ console.log(age); varage=25; console.log(age); functionage(){} console.log(age); } func(18); 输出什么? 2、js是什么语言 js是弱类型,动态语言,静态作用域,解释型语言。 但是这个解释型,现在有点假了。 因为,也加入了jit。 3、基...

liixnhai的博客 1766

JS基础:编译型语言、解释型语言、标识符、保留字

计算机需要用翻译器译码,译码方式有两种,一种是解释,一种是编译。两种方式的区别在于编译的时间点不同。 1. 编译型语言(java) 在代码执行前进行编译,生成中间代码文件 2. 解释型语言(JavaScript) 在运行时进行及时解释,并立即执行 3.标识符 标识符是指开发人员为变量、属性、函数、参数取得名字 标识符不能是关键字和保留字 4. 关键字 关键字是指JS本身已经使用了的字,不能再次使用当变量名,方法名 如:break、case、catch、continue、default、d

weixin_49555741的博客 237

JS基础知识(三十四):解释型语言和编译型语言,静态语言和动态语言

解释型语言和编译型语言,静态语言和动态语言 编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件(即exe文件)运行时不需要重新编译,直接用编译后的文件(exe文件)就行了。 优点:执行效率高 缺点:跨平台性差 解释型语言:程序不需要编译,程序在运行的过程中才用解释器编译成机器语言,边编译边执行(没有exe文件)。 优点:跨平台性好 缺点:执行效率低 静态语言:强类型语言,编译时确定变量的数据类型 动态语言:弱类型语言,运行时确定变量的数据类型 ...

前端 382

JavaScript到底是解释型语言还是编译型语言?

正文从这开始~~ 几天前一个刚接触JavaScript的朋友问我 JavaScript 是编译型语言还是解释型语言。从一个初学者那里听到这样的问题让我有些惊讶,因为所有初学者都知道 JS 是一个解释型语言;特别是像她这样之前使用过 Java 这类语言的初学者。 当一些人深入 JavaScript 并且开始研究 V8 引擎、SpiderMonkey、JIT 之类东西的时候,他们开始对于...

qq_38836118的博客 7482

JavaScript ( JS ) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言

V8 引擎执行 JavaScript 代码的过程更像是编译型和解释型的结合体。那么如何理解以这种方式运行的 JavaScript 语言?现在的 JavaScript 语言,并不是一行一行的解释执行,也不是全部编译后再执行。大概的流程是,先编译当前必须的代码并执行,然后再去编译下一步必须的代码再执行。比如,一个函数是在用户点击某个按钮时才会运行,那么在用户点击按钮之前这个函数就不会被编译执行。所以,现在的 JavaScript 语言就像是不停地重复编译-执行流程的编译型语言。

start7000k的博客 1010

JavaScript——不仅仅是解释性语言

编译(Compilation) JavaScript 通常被视为一种解释性语言,但是现代的JS引擎不仅仅解释JavaScript,而且会编译它。 自从2009年,火狐将SpiderMokeyjs编译器添加到Firefox 3.5中后,所有人纷纷效仿这个idea。 JavaScript 代码由内置JIT编译(即时编译或者动态编译)的V8引擎编译,从而提升了代码执行的速度。 虽然这看起来有点不直观,但是自从2004年谷歌地图引入(上述)之后,JavaScript 已经由一个只能执行少数几个lines的语言进化为

sikies的博客 729

Javascript是解释型语言

摘要:《JavaScript基础与案例开发详解》(张孝祥,徐明华)第2章JavaScript环境,本章力求让读者了解JavaScript的开发环境、运行环境,和开发中会遇见的一些问题,做好学习前的准备。本节为大家介绍解释型语言。 2.6 解释型语言 虽然无法确定计算机可以聪明到什么程度,但可以确定的是,不通过辅助工具的话它可不认识英文单词。 对程序来说,计算...

weixin_30468137的博客 476

什么是编译性语言、解释性语言和脚本语言

计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能值型高级语言编写的程序。  翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要...

yuyanqifei的专栏 286
上一篇: 基于位置服务的信息推送系统设计
下一篇: js----for循环使用技巧
neoma安荷
博客等级 码龄9年 8粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值