位置: 编程技术 - 正文

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实现弹窗)

  • 民间非盈利组织会计中所拥有的用于
  • 先发表还是先出版
  • 一般纳税人劳务费税率是多少
  • 劳务服务有什么
  • 附加税计提多了怎么调整税额
  • 损益平准基金
  • 广告公司属于服务企业吗
  • 增值税专用发票电子版
  • 跨区域能领发票吗
  • 小规模纳税人转一般纳税人
  • 代开的专用发票如何开具红字发票
  • 企业管理咨询公司哪家好
  • 投资项目的资本金的认缴
  • 地方教育费附加的会计分录
  • 自查增值税补缴怎么处理
  • 建筑工程属于开票项目吗
  • 计提年终奖金的会计分录怎么写
  • 小规模纳税人增值税怎么算
  • 不动产所占份额
  • 公司不交增值税对法人有影响吗
  • 运输发票的税率有几种
  • 苹果哪些手机有120hz刷新率
  • 企业增加值的计算
  • 房地产企业应该如何与其他产业合作
  • 库存退回
  • 公司取得发明专利证书股票大涨
  • 公司为员工缴纳社保的基数怎么确定
  • 车辆开具发票后会计分录?
  • 预支员工报销费用会计科目
  • 股权转让有溢价分录怎么写
  • 工程施工下的间接费用下有什么科目
  • 调整以前年度损益调整分录费用调增
  • 大西洋,一望无际的海面
  • yii2框架和fastadmin建商城网站哪个好用
  • 外经证还有几天到期延期需要的资料
  • Navicat for MySQL 15 v15.0.27 中文企业正式版(附安装教程) 32/64位 破解版
  • 企业提取盈余公积属于什么会计科目
  • 完美解决怠速抖动加油就平稳
  • MSSQL2005 INSERT,UPDATE,DELETE 之OUTPUT子句使用实例
  • 带薪年假一般是什么时候
  • 企业计提五险一金会计分录怎么写
  • 无销项税能抵扣进项税吗
  • 经营出租固定资产折旧费计入什么科目
  • 个人无需办理汇票业务
  • 预付款什么时候开发票
  • 固定资产的运输费和包装费计入
  • 冲个人借款分录怎么写
  • 处理报废的固定资产账务处理
  • 个人购买机动车需要交增值税吗
  • 销售包装物计入其他应收款吗
  • 劳务外包账务
  • 用工资冲借款报税可以吗
  • 哪些税费计入税金及附加科目
  • 企业货币资金主要包括哪些
  • mysql5.7重装
  • mysql 非聚集索引
  • mysql 定点数和浮点数
  • mysql获取当前行数
  • 打印机取消打印在哪里
  • win7系统internet怎么打开摄像头
  • centos state down
  • win7宽带连接改成无线网络
  • linux系统怎么修改文件里的参数
  • 学习软件
  • 为什么调用不了函数
  • express的中间件
  • pycharm怎么学
  • JavaScript jQuery 中定义数组与操作及jquery数组操作
  • 运行node.js的应用程序服务器
  • unity只执行一次的方法
  • Android使用领域(移动端,PC,服务端)
  • js遍历table的td
  • 经营所得个人所得税税率表
  • 国家税务总局惠州仲恺高新技术产业开发区税务局
  • 年终绩效奖金发放方案
  • 土地交易的印花税
  • 税控ic卡就是税控盘吗
  • 国企残疾职工安置
  • 大宗物流服务平台
  • 中级财务管理好难
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设