位置: 编程技术 - 正文

JavaScript修改作用域外变量的方法(js修改内容)

编辑:rootadmin

推荐整理分享JavaScript修改作用域外变量的方法(js修改内容),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js修改hover,编辑修改js文件,js怎么修改,js修改ua,javascript修改文本,js修改ua,编辑修改js文件,javascript修改文本,内容如对您有帮助,希望把文章链接给更多的朋友!

1.今天在看JavaScript学习指南的时候做的课后习题,也因此详细的对函数的传入参数进行比较深入的研究.

题目如下:

  函数如何才能修改其作用域之外的变量&#;编写一个函数,由1~5的数字组成的数组作为参数,调用该函数后将把其中的数字项替换为相应的字符串表示形式.

需要注意知识点:

  在JavaScript中函数参数的传递,对于基于原始值的参数进行值传递(数字,字符串,布尔值),函数中的修改不会影响实际参数值.而传递给函数的参数而言,对象是一个引用,对其的修改的将会反映在主调程序中.<-但是,会有这样的情况,如下

在上面代码中我们创建了4个全局变量,类型分别为数字,布尔值,数组,对象.2个函数,display和test.

display执行了4次,分别结果如下:

"number:2boolean:truearray:1,2,3object:"<-传入函数时的值

"number:0boolean:falsearray:1,2,3,3object:"<-执行更改

"number:0boolean:falsearray:3,2,1object:"<-重新赋值

"number:2boolean:truearray:1,2,3,3object:"<-函数执行完毕后

可以看出我们对数组和对象的重新赋值并没有成功,如果按引用传递,那么我们应该也对全局变量的数组和对象重新赋值修改了呀.其实JavaScript中所谓的按引用赋值并不是真正意义上的按引用复制,准确说应该是按共享传递.也可以叫按对象传递,按对象共享传递(call by sharing).

在这个按共享传递的条件下,我们获取的引用可以说只是实参引用的副本,它和我们经常说的按引用传递的最大差别就在于我们在对引用副本的赋值不会影响实参的值,正如我们上面那样做的那样,赋值操作是不可行的.

当然我们从对象类型和基本类型两方面看,对象是可变的而基本类型是不可变的(注意!字符串修改其实是返回的新的字符串),所以按共享传递对于基本类型来说也是符合按共享传递的.

总结一下:

JavaScript修改作用域外变量的方法(js修改内容)

  JavaScript中,基本类型和对象都按共享传递(call by sharing),但是由于JavaScript的基本类型的不变性,基本类型按共享传递与按值传递没有任何区别,而对象按共享传递.

按共享传递(call by sharing):传递的是实参引用的副本,我们对引用副本的赋值不影响实参的值,但是可以使用引用副本去修改引用的内容.详细的wiki地址

函数对传入的参数:

1.基本类型,按值传递(或者也可以说按共享传递),内部赋值修改都不影响主调程序

2.对象类型,按共享传递,传入的为实参引用的副本,内部对该引用的赋值无效,对对象属性的赋值修改有效.

大概就是这么理解了,假如有什么地方我犯了什么错误,也希望能被指出来.

下面单独拉出JavaScript作用域

  任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。

   全局作用域(Global Scope)

  在代码中任何地方都能访问到的对象拥有全局作用域,一般来说以下几种情形拥有全局作用域:

  (1)最外层函数和在最外层函数外面定义的变量拥有全局作用域,例如:

  (2)所有末定义直接赋值的变量自动声明为拥有全局作用域,例如:

  变量blogName拥有全局作用域,而authorName在函数外部无法访问到。

  (3)所有window对象的属性拥有全局作用域

  一般情况下,window对象的内置属性都拥有全局作用域,例如window.name、window.location、window.top等等。

  1. 局部作用域(Local Scope)  

  和全局作用域相反,局部作用域一般只在固定的代码片段内可访问到,最常见的例如函数内部,所有在一些地方也会看到有人把这种作用域称为函数作用域,例如下列代码中的blogName和函数innerSay都只拥有局部作用域。

JavaScript实现弹出DIV层同时页面背景渐变成半透明效果 本文实例讲述了JavaScript实现弹出DIV层同时页面背景渐变成半透明效果。分享给大家供大家参考,具体如下:!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""ht

详解Javascript继承的实现 本文从以下四个方面展开话题:1.混合方式实现及问题2.期望的调用方式3.继承库的详细实现4.总结感兴趣的朋友可以继续往下阅读详情。我最早掌握的在

JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果) 本文实例讲述了JS+CSS实现的漂亮渐变背景特效代码。分享给大家供大家参考,具体如下:运行效果截图如下:具体代码如下:htmlheadtitleJS配合CSS实现的

标签: js修改内容

本文链接地址:https://www.jiuchutong.com/biancheng/375953.html 转载请保留说明!

上一篇:JavaScript 2048 游戏实例代码(简单易懂)

下一篇:JavaScript实现弹出DIV层同时页面背景渐变成半透明效果(js实现弹窗)

  • 工商名称变更后多久网上可以查到记录
  • 车辆出现质量问题
  • 基本户零流水如何处理
  • 增值税进项税转出政策依据
  • 母子公司往来明细账正反面都可以写吗
  • 分公司独立核算企业所得税缴纳
  • 职工福利费劳保用品
  • 向税务局缴纳工伤保险费有发票吗
  • 分公司收到的总部拨款会计如何处理
  • 异地工程预缴个税
  • 一般纳税人核定征收增值税
  • 境内企业技术转让 增值税
  • 库存现金盘亏无法查明原因的分录
  • 充值销售技巧和话术总结
  • 预付款增加说明什么
  • 收到购货方退回的发票联和抵扣联如何处理?
  • 购买境外技术缴纳税费
  • 兼营行为的含义
  • 笔记本win10玩红警怎么全屏
  • 微信公众号 h5 保存openid
  • PHP:ftp_set_option()的用法_FTP函数
  • 所有者权益会计科目借贷方向
  • 融资租赁的租金是什么意思
  • php poll
  • 公允价值变动损益会计处理
  • ErrorCaptureStackTrace(err); Error [ERR_MODULE_NOT_FOUND]: Cannot find module
  • 价值高的备件算固定资产吗
  • vue3+element-plus Dialog对话框的使用 与 setup 写法的使用
  • php判断字符串是否合法日期
  • php功能实现
  • 货物发生非正常损失为什么要做j进项转出
  • 主营业务毛利率公式
  • 安装tensorflow1
  • 网页单行文本框
  • 科研toc
  • js倒计时函数
  • remote远程
  • yii2.0框架
  • 企业所得税资产总额根据什么填
  • python颜色代码有哪些
  • 免征增值税的规定
  • 增值税抵扣进项税额什么意思
  • 个人所得税要缴纳一万多怎么办
  • 无票收入后又开票怎么办
  • 哪些科目会影响损益
  • 收付实现制的适用范围
  • 注册资本印花税2023年新规定
  • 非盈利组织固定资产金额标准最新规定
  • 商品流通企业税费按征收对象可分为
  • 私车公用发票去哪个税务局开
  • 现金支付有借款利息吗
  • 负数发票开错了是否可以作废?
  • 一次性收取的房租如何做账
  • 购买无形资产的手续费计入
  • 商业承兑汇票怎么做账
  • 购进原材料如何结转成本
  • 租金收入确认收入时间
  • 核定征收需要带什么资料
  • 数据库sql server
  • sql server 数据库介绍
  • 如何禁用windows defender service
  • mac 硬盘数据恢复
  • win7隐藏账户
  • linux ftp搭建教程
  • 常用原生js兼容软件
  • javascript新手教程
  • django pypi
  • jquery自定义组件
  • python连接Oracle数据库
  • 利用ctypes提高Python的执行速度
  • android回调函数
  • python3 flask
  • 大排量车船税怎么减免
  • 北京大兴国税局领导班子
  • 如何打印个人缴税记录
  • 税务金三系统什么意思?
  • 养鱼业免增值税吗
  • 营业账簿中的其他账簿包括
  • 发票是去国税还是地税
  • 广西定额发票查询入口官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设