`
hrl_100_eyejava
  • 浏览: 24227 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于js中基本类型和引用类型传参

    博客分类:
  • js
 
阅读更多
   //对于基本类型js参数传的是值
    var a = 5;
	function (a) {
	   a = 10;
	}
	alert(a);//5

   //对于引用类型,js 参数传地址
    var arr = ['a'];
	function put(arr){
	  arr.push('b');
	}
	put(arr);
	alert(arr)//a,b

 

js数据类型如下【转】:

1)基本类型
---数字,采用IEEE754标准定义的64位浮点格式.
特殊数值常量:
Infinity 无穷大的特殊值
NaN 非数字值
Number.MAX_VALUE 可表示的最大数字
Number.MIN_VALUE 可表示的最小数字
Number.NaN 非数字值
Number.POSITIVE_INFINITY 正无穷大
Number.NEGATIVE_INFINITY 负无穷大
把数字转为字符串6种方式
var n = 1.23456;
var n_as_str = n+"";
String(n);
n.toString(x); //x=2,binary; x=8, octonay; x=16,hexadecimal.if empty,decimal
n.toFixed(x); //小数点后位数
n.toExponential(x); //显示指数形式,x表示小数位
n.toPrecision(x); //若n位数>x时显示为指数,x表示数字的精度
---字符串
字符串转为数字
在数字环境,自动转换为数字,
var num = "2" * "3"; //num = 6
var num = str_val - 0;
var num = Number(str_val); //以10为基数的数字有效,允许开头和结尾的空白
parseInt(str)
parseInt(str,radix) //the same with java
parseFloat(str)
---布尔
显式转换的方法
var x_as_boolean = Boolean(x);
var x_as_boolean = !!x;
---null
表示"无值".
对象转换:布尔环境式时,非空对象为false;字符串环境时"null";数字环境时0;
---undefined
使用未声明的变量时,或使用声明但没有赋值的变量时,或使用不存在的对象属性时,返回
undefined.
对象转换:布尔环境式时,非空对象为false;字符串环境时"undefined";数字环境时NaN;
与null区别:
null是关键字,undefined不是.(ECMAScript v3定义了undefined的全局变量,初始值是undefined)

<html>
  <head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
	<title>null and undefined</title>
  </head>

  <body>
	<p>比较null与undefined</p>

	<script>
	  var undef; 
	  document.write("布尔环境: ")
	  document.write(undef==null);      //true
	  document.write("<br/>");
	  document.write("字苻串环境: ")
	  document.write("".undef);         //undefined
	  document.write("<br/>");
	  document.write("数字环境: ")
	  document.write(1+undef);          //NaN
	  document.write("<br/>");

	  document.write("undef===null: ")
	  document.writeln(undef===null);     //false
	  document.write("<br/>");
	  document.write("typeof undef: ")
	  document.writeln(typeof undef);     //undefined
	</script>

  </body>
</html>

 

 

2)复合类型
对象:已命名的数据的集合
对象直接量:由一个列表构成.列表的表式形式,{key:value,*};(key=标识符/字符串,value=常量/表达式)
对象转换:布尔环境式时,非空对象为true;字符串环境时,toString();数字环境时,valueOf();
数组
不直持多维数组,数组元素可以是数组;
数组元素不必据有相同的类型

 

3)特殊对象
函数
一般语法,function func_name(args) {func_body;}
lambda函数,function(args){func_body;}
构造函数,new Function("args","func_body");

 

*说明

计划以后在note目录下发布些整理的笔记,好记心不如烂笔头.主要为了方便自己查找,若读者看了觉得哪儿理解不对,请指教.

这篇是关于javascript的数据类型,主要内容来自"javascript权威指南".

分享到:
评论

相关推荐

    JS 通过传参的方式输出 ab

    在JavaScript(JS)中,通过传参的方式输出"ab"涉及到基本的函数调用和字符串操作。在这篇博客中,我们将深入探讨这个话题,并提供一个简单的示例来演示如何实现这个功能。 首先,理解参数传递在JavaScript中的工作...

    论JS函数传参时:值传递与引用传递的区别

    内存分为栈区(stack)和堆区(heap) ,如果将内存看成一本书,栈好比是书的目录,而堆就是书的内容,基本类型可以看成内容非常少,只要目录就可以概括,而引用类型就相当与内容非常多的文章,需要在书的目录上保存...

    JavaScript 24道面试题和答案.docx

    1. **数据类型**:JavaScript中有两种数据类型,即基本数据类型和引用数据类型。基本数据类型包括Undefined、Null、Boolean、Number、String和Symbol(ES6新增)。引用数据类型主要指Object,包括对象、数组和函数。...

    JavaScript 数据类型

    值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。 引用数据类型:对象(Object)、数组(Array)、函数(Function)。 注:Symbol 是 ES6 引入了一种新的...

    深入理解JavaScript中的传值与传引用

    虽然String在JavaScript中是基本类型,但它的行为类似于引用类型。字符串是不可变的,这意味着不能直接修改字符串的内容。例如,`s1`和`s2`虽然看起来是通过拼接创建的新字符串,但它们实际上是两个独立的字符串...

    JavaScript去除空格的三种方法(正则/传参函数/trim)

    返回对象类型原型的引用。 objectName.prototype objectName 参数是对象的名称。 说明 用 prototype 属性提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。 例如,要为 Array 对象添加返回...

    一个汇集于前端所有知识点的面试宝典

    变量是编程中存储数据的容器,分为基本类型变量(如number、string、boolean、null、undefined)和引用类型变量(如object)。基本类型变量直接存储值,而引用类型变量存储的是指向内存地址的引用。在JavaScript中,...

    finereport报表工具超链接引用JAVE SCRIPT

    3. **添加超链接**:通过右键菜单选择添加超链接,然后在弹出的界面中选择JavaScript类型,插入之前创建的`test.js`文件,并在函数调用处写入具体的函数名,如`demo()`。 4. **预览与测试**:保存报表后进行预览,...

    每个开发者都应该知道的33个JavaScript概念.zip

    2. 数据类型(Data Types):包括基本类型(如字符串、数字、布尔值、null、undefined)和引用类型(如对象)。 3. 字符串(Strings):JavaScript字符串是不可变的,可以使用模板字符串(模板字面量)方便地处理...

    js基础到循环///。。。

    数据类型分为基本数据类型(如`string`、`number`、`boolean`等)和引用数据类型(如`object`)。变量的数据类型可以动态转换,如`Number('3')`会将字符串转换为数字。数组和对象是复杂的数据结构,可以存储多个值或...

    浅析JavaScript中的变量复制、参数传递和作用域链

    JavaScript中的参数传递总是按值传递,无论是基本类型还是引用类型。但这里存在一个微妙的区别。对于基本类型,传参就像复制变量一样,函数内部的修改不会影响外部。对于引用类型,虽然值(内存地址)是按值传递的...

    教你javascript克隆dom结点,浅复制结点,深复制结点

    本文将详细介绍JavaScript中的DOM节点克隆,包括浅复制和深复制的区别。 一、DOM节点克隆基本概念 DOM节点克隆是通过调用`cloneNode()`方法实现的。这个方法接受一个布尔参数,如果为`true`,则执行深复制;如果为`...

    JavaScript参考手册

    1. **变量与数据类型**:JavaScript 支持七种数据类型,包括基本类型(Undefined、Null、Boolean、Number、String)和引用类型(Object、Symbol、BigInt)。变量声明使用`var`、`let`或`const`关键字,它们的范围和...

    BSP报表开发实例(HTML)

    在新建的BSP应用中,输入网页的名称和描述,选择网页类型(如HTML),然后保存确认。 3. **引用CSS样式** - 为了美化网页,通常需要引用CSS样式文件。在创建的页面中,可以通过设置来关联一个CSS文件,这样可以...

    domino xpags开发 控件 传参数给custom control

    3. **在页面中引用并传参** 在引用Custom Control的XPage或Custom Control中,我们需要设置这些属性的值。例如: ```xml &lt;xc:ccOffice dsn="#{javascript:document1}" fieldName="strStatus"&gt; &lt;xc:this.title&gt;&lt;!...

    javascript深入理解函数

    - **引用数据类型**(如Object):传参时按引用传递,即传递对象的引用地址,而不是对象本身。这意味着函数内部对对象的修改会影响到函数外部的对象。 4. **函数重名**: - JavaScript中没有函数重载,即不能根据...

    JS重要知识点小结

    基本类型传递的是值的副本,而引用类型(对象、数组、函数)传递的是引用值的副本,即内存地址的副本。 ```javascript function setName(obj) { obj.name = "xiaoxiaozi"; obj = {}; // obj的引用改变,指向新...

    前端十万字八股文面试笔记

    4. **数据类型**:包括基本类型(如字符串、数字、布尔、null、undefined)和引用类型(如对象)。 5. **判断数据类型的方法**:`typeof`、`instanceof`和`Object.prototype.toString.call()`。 6. **中文长度**:一...

    浅谈javascript中的call、apply、bind

    如果传递的是字符串、数值或布尔类型等基本类型,则函数中的this将指向对应的包装对象。如果传递的是一个对象,那么函数中的this将指向这个对象。 例如,定义两个函数a和b,并且定义一个对象obj。当执行b.call(obj)...

    VUE面试题Vue2(基础代码,响应式,指令)

    - **缺点**:共享引用类型属性,无法传参给父类构造函数。 **call/apply继承** - **缺点**:无法继承父类原型上的属性和方法。 **组合继承** - **优点**:结合了原型链和call/apply的优点,同时继承了原型和构造...

Global site tag (gtag.js) - Google Analytics