全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Javascript中引用类型传递的知识点小结

JS里面哪些类型是引用类型?

Object类型都是引用类型.(function,array,date,regexp..)

JS哪些类型是值传递?

基本类型都是值传递.值传递就是重新copy一个副本进行传递.

如何把值类型的变量以引用类型的方式进行传递?

通过把基础类型包装之后可以以引用类型传递.

ECMAScript提供了三个特殊的引用类型(基本包装类型): Boolean,String,Number.

引用类型与基本包装类型的区别: 对象的生存期不同.

见代码:

var str = "hello js"; 
var str2 = str.substring(2,5); 


// str2的形成 在JS内部是这样实现的.

var str = new String('hello js');
var str2 = str.substring(2,5);
str = null ;

引用类型的内存分配

如: var o = {name: ‘kobe'};

栈: 保存的是一个指针,指向的是对象在堆上面的内存地址.我们通过指针句柄来操作堆上面的对象.

理解== 与 === 的区别

“===” 严格运算符

严格运算符的运算规则:

1、不同数据类型

如果两个值的类型不同,直接返回false。

2、同一类型的基本数据类型(string,boolean,number)

同一类型的原始类型的值(数值、字符串、布尔值)比较时,值相同就返回true,值不同就返回false。

3、同一类型的复合数据类型

两个复合类型(对象、数组、函数)的数据比较时,不是比较它们的值是否相等,而是比较它们是否指向同一个对象。

console.log( [1] === [1] ) // false

4、undefined和null

undefined 和 null 与自身严格相等。

console.log( null === null ) // true
console.log( undefined === undefined ) // true

“==” 相等运算符

相等运算符在比较相同类型的数据时,与严格相等运算符完全一样。

在比较不同类型的数据时,相等运算符会先将数据进行类型转换,然后再用严格相等运算符比较。类型转换规则如下(以下讨论的是不同类型):

1、都是原始类型的值得情况

原始类型的数据会转换成数值类型再进行比较。

2、对象与原始类型值比较

对象(这里指广义的对象,包括数值和函数)与原始类型的值比较时,对象转化成原始类型的值,再进行比较。

3、undefined和null

undefined和null与其他类型的值比较时,结果都为false,它们互相比较时结果为true

console.log( null == undefined ) // true

4、相等运算符的缺点

相等运算符隐藏的类型转换,会带来一些违反直觉的结果。

console.log( "" == "0" ) // false 
console.log( 0 == "" ) // true
console.log( 0 == "0" ) // true
console.log( false == "false" ) // false
console.log( false == "0" ) // true

还有一个就是涉及undefined的条件判断,undefined与null的条件判断.可能会对你的代码造成印象.

var a = undefined;
if(!a){
 console.log("1"); //1
}

var a = undefined;
if(a === null){
 console.log("1"); //无输出
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# javascript  # 引用传递  # 引用类型  # javascript的引用类型  # JS是按值传递还是按引用传递  # Js从头学起(基本数据类型和引用类型的参数传递详细分析)  # JavaScript传递变量: 值传递?引用传递?  # javascript的字符串按引用复制和传递  # 按值来比较介绍与应用  # JavaScript对象参数的引用传递  # JavaScript中的值是按值传递还是按引用传递问题探讨  # 运算符  # 的是  # 都是  # 不同类型  # 是这样  # 句柄  # 会对  # 还有一个  # 这篇文章  # 再用  # 谢谢大家  # 转换成  # 都为  # 先将  # 转化成  # 与其他  # 布尔值  # 有疑问  # String  # ECMAScript 


相关文章: 如何快速搭建安全的FTP站点?  建站主机选购指南与交易推荐:核心配置解析  建站上市公司网站建设方案与SEO优化服务定制指南  如何快速搭建高效WAP手机网站吸引移动用户?  西安专业网站制作公司有哪些,陕西省建行官方网站?  Swift中switch语句区间和元组模式匹配  设计网站制作公司有哪些,制作网页教程?  如何通过虚拟主机快速完成网站搭建?  css网站制作参考文献有哪些,易聊怎么注册?  如何选择最佳自助建站系统?快速指南解析优劣  如何通过主机屋免费建站教程十分钟搭建网站?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  建站之星如何通过成品分离优化网站效率?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  如何通过山东自助建站平台快速注册域名?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  建站之星官网登录失败?如何快速解决?  定制建站价位费用解析与套餐推荐全攻略  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  宝塔建站无法访问?如何排查配置与端口问题?  建站之星安装需要哪些步骤及注意事项?  如何在阿里云部署织梦网站?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  如何选择建站程序?包含哪些必备功能与类型?  IOS倒计时设置UIButton标题title的抖动问题  javascript中的try catch异常捕获机制用法分析  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何解决VPS建站LNMP环境配置常见问题?  定制建站方案优化指南:企业官网开发与建站费用解析  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  视频网站制作教程,怎么样制作优酷网的小视频?  如何用wdcp快速搭建高效网站?  如何用狗爹虚拟主机快速搭建网站?  大连 网站制作,大连天途有线官网?  如何快速启动建站代理加盟业务?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  小型网站制作HTML,*游戏网站怎么搭建?  如何用虚拟主机快速搭建网站?详细步骤解析  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  ,购物网站怎么盈利呢?  如何在阿里云购买域名并搭建网站?  油猴 教程,油猴搜脚本为什么会网页无法显示?  北京专业网站制作设计师招聘,北京白云观官方网站?  建站之星Pro快速搭建教程:模板选择与功能配置指南  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  建站之星安装提示数据库无法连接如何解决?  香港服务器建站指南:免备案优势与SEO优化技巧全解析 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。