网站建设做网站可以吗中山建设银行招聘网站

news/2025/10/5 1:34:45/文章来源:
网站建设做网站可以吗,中山建设银行招聘网站,如何部署wordpress,网站维护费计入什么科目内存以及内存图在JS中#xff0c;每一个数据都需要一个内存空间。内存空间又被分为两种#xff0c;栈内存(stock)与堆内存(heap)。JS内存空间分为栈(stack)、堆(heap)、池(一般也会归类为栈中)。 其中栈存放变量#xff0c;堆存放复杂对象#xff0c;池存放常量。JS中的基础…内存以及内存图在JS中每一个数据都需要一个内存空间。内存空间又被分为两种栈内存(stock)与堆内存(heap)。JS内存空间分为栈(stack)、堆(heap)、池(一般也会归类为栈中)。 其中栈存放变量堆存放复杂对象池存放常量。JS中的基础数据类型这些值都有固定的大小往往都保存在栈内存中闭包除外由系统自动分配存储空间。我们可以直接操作保存在栈内存空间的值因此基础数据类型都是按值访问 数据在栈内存中的存储与使用方式类似于数据结构中的堆栈数据结构遵循后进先出的原则。 基础数据类型 Number String Null Undefined Boolean ~ ~ 要简单理解栈内存空间的存储方式我们可以通过类比乒乓球盒子来分析。这种乒乓球的存放方式与栈中存取数据的方式如出一辙。处于盒子中最顶层的乒乓球5它一定是最后被放进去但可以最先被使用。而我们想要使用底层的乒乓球1就必须将上面的4个乒乓球取出来让乒乓球1处于盒子顶层。这就是栈空间先进后出后进先出的特点。JS的复杂数据类型比如数组Array它们值的大小是不固定的。引用数据类型的值是保存在堆内存中的对象。JS不允许直接访问堆内存中的位置因此我们不能直接操作对象的堆内存空间。在操作对象时实际上是在操作对象的引用而不是实际的对象。因此引用类型的值都是按引用访问的。这里的引用我们可以粗浅地理解为保存在栈内存中的一个地址该地址与堆内存的实际值相关联。 堆存取数据的方式则与书架与书非常相似。 书虽然也有序的存放在书架上但是我们只要知道书的名字我们就可以很方便的取出我们想要的书而不用像从乒乓球盒子里取乒乓一样非得将上面的所有乒乓球拿出来才能取到中间的某一个乒乓球。好比在JSON格式的数据中我们存储的key-value是可以无序的因为顺序的不同并不影响我们的使用我们只需要关心书的名字。JS里所有的数字都是以64位浮点数储存的16位存储一个字符所以在栈内存内都是64位01我们来看看代码var a 20 var b a b30ba,那就把a存的东西复制然后覆盖到b储存的地方。在栈内存中的数据发生复制行为时系统会自动为新的变量分配一个新值。var b a执行之后a与b虽然值都等于20但是他们其实已经是相互独立互不影响的值了。具体如图。所以我们修改了b的值以后a的值并不会发生变化。再复杂一点我们存储复杂类型呢也就是heap内存里是怎样呢var m { a: 10, b: 20 } var n m; n.a 15;// 这时m.a的值是多少就像上述代码当需要存储字符的时候一行64位浮点数只能存储4个字符非常浪费且再添加属性的时候就需要整体移动下位的代码很麻烦所以我们就在栈内存里存储一个地址地址随意但是这个地址指向heap内存里相应地址的位置而我们需要储存的内容就写在这里。我们通过var n m执行一次复制引用类型的操作。引用类型的复制同样也会为新的变量自动分配一个新的值保存在栈内存中但不同的是这个新的值仅仅只是引用类型的一个地址指针。当地址指针相同时尽管他们相互独立但是在堆内存中访问到的具体对象实际上是同一个。如图所示因此当我改变n时m也发生了变化。这就是引用类型的特性。以上就是js中的内存和内存图遇到不明白的地方多画图就能弄明白了。内存释放因为JavaScript具有自动垃圾收集机制JavaScript的内存生命周期是1. 分配你所需要的内存 2. 使用分配到的内存读、写 3. 不需要时将其释放、归还 为了便于理解我们使用一个简单的例子来解释这个周期。var a 20; // 在内存中给数值变量分配空间 alert(a 100); // 使用内存 a null; // 使用完毕之后释放内存空间 第一步和第二步我们都很好理解JavaScript在定义变量时就完成了内存分配。第三步释放内存空间则是我们需要重点理解的一个点。JavaScript有自动垃圾收集机制那么这个自动垃圾收集机制的原理是什么呢其实很简单就是找出那些不再继续使用的值然后释放其占用的内存。垃圾收集器会每隔固定的时间段就执行一次释放操作。var a {name:xx} var b {name:yy} // 代码区 // stack //Heapa ADDR 888 xxb ADDR 666 yy // 当b a //代码区 // stack //Heapa ADDR 888 xxb ADDR 888 (yy未被引用被释放在JavaScript中最常用的是通过标记清除的算法来找到哪些对象是不再继续使用的因此a null其实仅仅只是做了一个释放引用的操作让 a 原本对应的值失去引用脱离执行环境这个值会在下一次垃圾收集器执行操作时被找到并释放。而在适当的时候解除引用是为页面获得更好性能的一个重要方式。在局部作用域中当函数执行完毕局部变量也就没有存在的必要了因此垃圾收集器很容易做出判断并回收。但是全局变量什么时候需要自动释放内存空间则很难判断因此在我们的开发中需要尽量避免使用全局变量。深拷贝与浅拷贝var a 1 var b a b 2 a // 1像这样b改变不会影响a这就是深拷贝对于所有的基本类型赋值都是深拷贝所以我们来研究对象。var a{name:} var ba b.nameb a.name//b 如上述b.name b 改变name的值引用a,得到的也是改变后的。像这样b的改变会导致a的改变就是浅拷贝。全局对象 windowECMAScript 规定全局对象叫做 global但是浏览器把 window 作为全局对象浏览器先存在的window 就是一个哈希表有很多属性。window 的属性就是全局变量。这些全局变量分为两种一种是 ECMAScript 规定的global.parseIntglobal.parseFloatglobal.Numberglobal.Stringglobal.Booleanglobal.Object一种是浏览器自己加的属性window.alertwindow.promptwindow.comfirmwindow.console.logwindow.console.dirwindow.documentwindow.document.createElementwindow.document.getElementById所有 API 都可以在 MDN 里找到详细的资料。今天我们学习第一种全局变量。全局函数Numbervar n new Number(1) 创建一个 Number 对象1 与 new Number(1) 的区别是什么Stringvar s new String(hello) 创建一个 String 对象hello 与 new String(hello) 的区别是什么Booleanvar b new Boolean(true) 创建一个 Boolean 对象true 与 new Boolean(true) 的区别是什么Objectvar o1 {}var o2 new Object()o1 和 o2 没区别上面的区别在于只要我们引用上述字符串的属性JavaScript就会将字符串值通过调用new String(s)的方式转换成对象之后字符串继承了对象的方法处理属性的引用。属性引用结束这个新创建的对象就被销毁。我们可以这样来想我们既想用简单类型又想获得对象的方法然后Branden Eich就想了个办法我们可以建立临时对象获取属性后返回给调用然后销毁就可以。var n ‘a n.toString() // 代码区 // stack // heapn atemp ADDR 888 888: atoSting()valueOf()temp就是临时对象当调用toString返回后temp马上被销毁了。其他的数据类型也是一样调取属性的背后都是这样一套操作。原型与原型链从上面我们可以看到利用new创建并初始化一个新对象运算符new后面跟着一个函数调用叫做构造函数。var s new String(hello)如上述代码s就是被创建的实例对象new运算符后跟着的String(注意这里开头必须大写来和string区分)就是构造函数。我们可以看到从实例对象中调用的属性但是他们都具有的属性比如toString以及valueOf等如果每个实例对象都在heap存储处生成这些都有的属性岂不是很费内存所以我们可以共有属性归拢起来然后通过 __proto__ 来指向共有属性。公用的属性藏在哪JavaScript中的对象都有一个内置属性[[Prototype]]指向这个对象的原型对象。当查找一个属性或方法时如果在当前对象中找不到定义会继续在当前对象的原型对象中查找该原型对象也有一个自己的原型对象(__proto__) 层层向上直到一个对象的原型对象为null。根据定义null没有原型并作为这个原型链中的最后一个环节。可以看出这个查找过程是一个链式的查找每个对象都有一个到它自身原型对象的链接这些链接组件的整个链条就是原型链。拥有相同原型的多个对象他们的共同特征正是通过这种查找模式体现出来的。 在上面的查找过程我们提到了最顶层的原型对象这个对象就是Object.prototype这个对象中保存了最常用的方法如toString、valueOf、hasOwnProperty等因此我们才能在任何对象中使用这些方法。如下图重要公式var 对象 new 函数() 对象.__proto__ 对象的构造函数.prototype// 推论 var number new Number() number.__proto__ Number.prototype Number.__proto__ Function.prototype // 因为 Number 是 Function 的实例var object new Object() object.__proto__ Object.prototype Object.__proto__ Function.prototype // 因为 Object 是 Function 的实例var function new Function() function.__proto__ Function.prototype Function.__proto__ Function.prototye // 因为 Function 是 Function 的实例以上部分资料来自网络仅供自己学习参考侵删

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/927769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自己做网站服务器可以吗专业做毕业设计网站设计

Double类是原始类型double的包装类,它包含若干有效处理double值的方法,如将其转换为字符串表示形式,反之亦然。Double类的对象可以包含一个double值。 Double类包装原始类型的值 double中的对象。类型的对象 Double包含一个类型为的字段 doub…

慢慢网站建设网站开发发展趋势2018

为什么要有浏览器缓存? 浏览器缓存(Brower Caching)是浏览器对之前请求过的文件进行缓存,以便下一次访问时重复使用,节省带宽,提高访问速度,降低服务器压力 http缓存机制主要在http响应头中设定,响应头中…

net程序员网站开发工程师wordpress到服务器

在百度知道上看到一个提问,大意是说自己不小心把快速启动栏的“显示桌面”图标给删除了,“显示桌面”按钮是大家经常用到的操作按钮,有时误删除掉后,然后使用起来非常不方便。 因为刚刚帮一个朋友解决了同样的问题,所以…

欧易OKX‌交易所注册全流程指南

欧易OKX‌交易所注册全流程指南OKX交易所注册全流程指南(最新版)‌ ‌一、注册前准备材料‌ OKX注册地址国内:https://96927.cc/ OKX国际注册地址:https://www.OKX.com/join/BITCOIN369 ‌身份证明‌ 有效身份证(…

智能网站搭建平台莱芜区平台公司

简介是dotNet core下基于Beetlex实现的一个高度精简化和高吞吐的HTTP API服务开源组件,它并没有完全实现HTTP SERVER的所有功能,而是只实现了在APP和WEB中提供数据服务最常用两个指令GET/SET,满足在应用实现JSON,PROTOBUF和MSGPACK等基于HTTP…

玩转树莓派屏幕之一:LCD屏幕显示

最近在淘宝上购买的3.5寸 MHS屏幕,准备用于展示树莓派运行时的状态。但是随着不断的对树莓派屏幕折腾,坑越踩越多,涉及的内容也是越来越多,需要记录一下防止自己忘记了。 屏幕介绍 屏幕图片:产品介绍物理分辨率32…

Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测

传感器监控、安全运营、欺诈检测——这些场景都需要及时发现异常状况。但是问题在于,异常样本出现频率低导致标注数据稀缺,监督学习模型难以构建。虽然异常(anomaly)和新颖性(novelty)这两个概念经常混用,但它们在建…

山东省建设工程 评估中心网站宁波网站建设招商加盟

当我们不想学习新知识的时候,并且特别无聊,就会突然先看看别人怎么写游戏的,今天给大家分享的是贪吃蛇,所需要的知识有结构体,枚举,以及easy-x图形库的一些基本函数就完全够用了,本来我想插入游…

aspx网站做app小说网站建设笺池斋

因为偶然要用到Oracle数据库,而平常工作中用的都是mySQL的,所以电脑上安装的都是MySQL的相关服务,今天用到Oracle本地没有,所以自己安装了一个,但是因为不熟悉,安装遇到了很多的坑,因此记录一下…

成都网站建设方案推广zend搭建wordpress

在本文中,我们将回答您在开始使用 React 时可能会问的 9 个常见问题。 1、开始使用 React 需要哪些技能和知识? 在深入研究 React 之前,您应该对以下内容有深入的了解: HTML、CSS 和 JavaScript (ES6)&a…

asp网站开发培训网页设计哪个培训机构好

梯度下降是我们在训练神经网络时用于训练参数的方法,本文总结了目前常用的几种梯度下降算法,包括原理、公式推导、解决的问题,主要要SGD、Momentum、NAG、AdaGrad、AdaDelta、RMSProp、Adam,先贴上手写的笔记,有时间再…

网站怎么做反爬虫wordpress 有赞

🧑‍🎓 个人主页:《爱蹦跶的大A阿》 🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》 ​ ​ ✨ 前言 Web Worker可以将耗时任务放到后台执行,避免阻塞UI。本文将详细介绍Web Worker的用法,让你…

网页制作和网站制作有什么区别建设网站的app

本文发布矩阵(Matrix)的一些初级算法。 一、矩阵的行列式(Determinant) 矩阵行列式是指矩阵的全部元素构成的行列式,设A(a)是数域P上的一个n阶矩阵,则所有A(a)中的元素组成的行列式称为矩阵A的行列式&…

服装服饰设计网站wordpress视频插件a vi

前言 《机器学习-回归问题》知道了回归问题的处理方式,分类问题才是机器学习的重点.从数据角度讲,回归问题可以转换为分类问题的微分 逻辑回归 逻辑回归(Logistics Regression),逻辑回归虽然带有回归字样,但是逻辑回归属于分类算法。但只可…

有引导的网站企业网站免费模板

1 前言 IJKPLAYER在视频render之时,并非简单使用SDL渲染API,而是用了OpenGL ES,再分别在Android和iOS平台做视频的显示;一言以蔽之,OpenGL ES并不能做到直接在窗口上render并显示,而是需要一个中间媒介。这…

北京微信网站建设报价单跨境电商在哪些网站上面做

介绍: zabbix是对服务器资源状态例如、内存空间、CPU、程序运行状态进行检测、设置预警值、短信设置等功能等一款开源工具。配置不当存在未授权,SQL注入漏洞 弱口令 nameadmin&passwordzabbix nameguest&password POST /index.php HTTP/1.1 Host: 192.1…

US$33.25 Key Shell for XHORSE XZKA82EN Exclusively for Hyundai Kia Models 5pcs/lot

Key Shell for XHORSE XZKA82EN Exclusively for Hyundai & Kia ModelsThe Shell for XHORSE XZKA82EN Exclusively for Hyundai & Kia ModelsPackage includes:5pcs x The Shell for XHORSE XZKA82EN Exclusi…

网站开发与维护费用网站多数关键词

宇电的设备使用基于RS-485的自定义协议,协议本身比较简单,只有2条指令: 读:地址代号52H(82) 要读的参数代号00校验码 写:地址代号43H(67)要写的参数代号写入数低字节写…

没有,不要模拟登录的,太慢没有效率

没有,不要模拟登录的,太慢没有效率你说的 “不要模拟登录的,太慢没有效率”,我理解是针对 手机验证码登录 / 签到 这类软件的实现方式里的一种区别:🔹 1. 什么是“模拟登录”?模拟登录 = 程序伪装成用户,去模…

南昌网站开发培训中心建筑行业网站建设

Java使用3DES加密解密的流程①传入共同约定的密钥(keyBytes)以及算法(Algorithm),来构建SecretKey密钥对象SecretKey deskey new SecretKeySpec(keyBytes, Algorithm);②根据算法实例化Cipher对象。它负责加密/解密Cipher c1 Cipher.getInstance(Algor…