js 对象与函数的区别

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title></title>
 6
 7     <script type="text/javascript">
 8         //第一种定义方式
 9         function fn1(){
10             alert("fn1");   //fn1
11         }
12         //函数就是一个非常特殊的对象,是一个Function类的实例,其实在内存中存储的操作是通过一个键值对来存储的
13         alert(typeof  fn1());  //function
14
15         //由于函数是一个对象,所有可以通过如下方式定义
16         //此时 fn2指向与fn1一样的函数,但是js与java不同点:
17         // 1、java中key放置到堆栈中,函数放置到内存中,即此时fn1放置到堆栈中,函数value放置到内存中
18         //    此时fn2 = fn1 ,堆栈中重新创建一个对象fn2,虽然此时fn2指向的函数仍然与fn1指向的函数相同,
19         //   但是fn2 的函数已经与fn1 的函数已经不属于一块内存了,不像java指向的仍然还是一块内存区域
20         var fn2 = fn1;
21         fn2();  //fn1
22         fn1 = function(){
23             alert("fnn1");
24         }
25         //函数虽然是一个对象,但是却和对象有区别,对象是通过引用的的指向完成对象的赋值操作,
26         //而函数确实通过对象的拷贝来完成的
27         //所以fn1虽然改变了,但是不会影响fn2
28         fn2();  //fn1
29         fn1();  //fnn1
30
31         /**
32          * 对于对象而言,是通过引用的指向来完成赋值的,此时修改o1或者o2会将两个只完成修改,与java中的方式相同
33          * @type {Object}
34          */
35         var o1 = new Object();
36         var o2 = o1;
37         o2.name = "LEON";
38         alert(o1.name);   //LEON
39
40
41     </script>
42
43 </head>
44 <body>
45
46 </body>
47 </html>

时间: 2024-10-11 21:55:51

js 对象与函数的区别的相关文章

js中声明函数的区别

在JS中有两种定义函数的方式, 1是var aaa=function(){...} 2是function aaa(){...} var 方式定义的函数,不能先调用函数,后声明,只能先声明函数,然后调用. function方式定义函数可以先调用,后声明.请看代码: var声明时,只有变量声明提前了,变量的初始化代码仍在原位置.然而,使用函数声明的话,函数名称和函数体都会提前.两种声明得到的函数都不可删除 //aaa();这样调用就会出错                var aaa = funct

js对象及函数(四)

一.对象1.函数对象的创建方法一:使用new构造函数去创建构造函数对象eg: var obj = new Object(); //向对象里面添加属性或方法 obj.name = 'nzc'; obj.age = 21; obj.sayName = function(){} 方法二:使用对象字面量来声明对象 var obj = { name:"nzc", age:21, gender:'男', sayName: function(){} }; 2.对象中属性和方法的调用:a.使用.来调用

js对象和json的区别

他们两个没有什么关联只不过可以相互转换而已,就像json可以转化为java对象一样 注意:json只有字符串形式(就是我们常说的json字符串:key/value值和数组形式的字符串),没有什么json对象(当json字符串转换为java对象是就是java对象,当json字符串被转换为js对象时,就是js对象). json字符串的格式和js的格式很相似而已. json可以说与XML文件是如出一辙的,只不过要比XML文件轻便. 以上为自己总结,如有不对请指教,谢谢

js 对象与json的区别和this 指向问题

构造函数.用来被new关键字调用的函数,这个函数返回指定属性的对象.用new关键字来调用函数new是是一个操作符,使用new操作符调用函数的时候,此时将会发生4个事情:(1)创建一个空对象(2)把函数内部的this指向这个空对象(3)将顺序函数执行里面的语句(4)返回这个对象function fun(){ name : "小花" , age : 18 , sex : "女",}var xiaoming = new fun();console.log(xiaoming

JS对象、函数、数组

// 对象: Object // 构造函数 Object : var obj = new Object(); obj.id = 9; obj.name = "lucy"; obj.age = 16; obj.gender = "male"; console.log(obj); //  输出结果: { id: 9, name: 'lucy', age: 16, gender: 'male' } // 对象字面量 var obj = { id:9, name:"

JQuery之JQuery的版本 JQuery入门 属性获取 JQuery就绪函数 JS文档就绪函数和JQuery文档就绪函数的区别 JS对象和JQuery对象的区别 关于$的使用 多个JS库的冲突解决方案

JQuery的版本 JQuery入门 属性获取 JQuery就绪函数 JS文档就绪函数和JQuery文档就绪函数的区别 JS对象和JQuery对象的区别 关于$的使用 多个JS库的冲突解决方案 JQuery的版本 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jQuery的版本</title> <

JS对象、数据类型区别、函数

对象 基本数据类型都是单一的值,值和值之间没有任何联系,变量之间独立,不能成为一个整体. 对象属于一种符合的数据类型,对象中可以保存对个不同数据类型的属性. 对象分类: ?1.内建对象 ??由ES标准中定义的对象,在任何的ES的事项中都可以使用:Math?String?Number?Bollean?Function?Object ?2.宿主对象 ??由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象:BOM(浏览器对象模型)?DOM(文档对象模型) ?3.自定义对象 ??由开发人员创建

DOM对象和js对象以及jQuery对象的区别

一.DOM对象 文档对象模型简称DOM,是W3C组织推荐的处理可扩展置标语言的标准编程接口. DOM实际上是以面向对象方式描述的文档模型.DOM定义了表示和修改文档所需的对象.这些对象的行为和属性以及这些对象之间的关系. 通过DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性.可以对其中的内容进行修改和删除,同时也可以创建新的元素. HTML DOM 独立于平台和编程语言.它可被任何编程语言诸如 Java.JavaScript 和 VBScript 使用. DOM对象,即是我们用

js对象和json对象的区别

1.JS是一种脚本语言,你所谓的对象,其实还只是处在源码阶段,当这段符合语法的文本被脚本引擎解释之后,在内存中才会产生对象,至于是否符合语法,取决于脚本引擎. 2.JSON不是一种语言,它仅仅是一种数据的表达方式,从某种程度上来讲,JSON跟XML没有什么区别. 对于JS的字面量来说,这段文本仅仅是代码的一部分,相当于指令,而JSON文本,其本身就表示了数据.二者相同的地方是,看起来都是数据,而且恰巧又都是文本:不同的地方在于,JS字面量的文本是被脚本引擎直接解析的,而JSON的文本,如果要转化