孔浩javaScript高级知识一
来源:互联网 发布:好听的网络歌曲虾米 编辑:程序博客网 时间:2024/05/17 06:21
head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js01_hello</title>
<meta name="author" content="Administrator" />
<script type="text/javascript">
//第一种定义方式
function fn1() {
alert("fn1");
}
//函数就是一个非常特殊的对象,是一个Function类的实例,其实在内存中存储的操作是通过一个键值对来存储的
alert(typeof fn1);
//由于函数是一个对象,所以可以通过如下方式定义
//以下是通过函数的拷贝来完成赋值,两个引用并没有指向同一个对象
var fn2 = fn1;(这个时候fn2指向了另外一块内存,只不过这个快内存的东西和fn1是一样的,有一个内存图)
fn2();
fn1 = function() {
alert("fnn1");
}
/**
* 函数虽然是一个对象,但是却和对象有一些区别,对象是通过引用的指向完成对象的赋值的,而函数却是通过对象的拷贝来完成的
* 所以fn1虽然变了,并不会影响fn2
*/
fn2();
fn1();
/**
* 对于对象而言,是通过引用的指向来完成赋值的,此时修改o1或者o2会将两个值都完成修改
*/
var o1 = new Object();(普通的对象时指针类型,他们指向了同一块内存,o2,01)
var o2 = o1;
o2.name = "Leon";
alert(o1.name);
</script>
</head>
<body>
----------------------------------------------------------------------------------------------------------
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js01_hello</title>
<meta name="author" content="Administrator" />
<script type="text/javascript">
// function sum(num1,num2) {
// return num1+num2;
// }
var sum = function(num1,num2) {
return num1+num2;
}
// function sum(num1) {
// return num1+100;
// }
/**
* 此时sum所指向的空间已经从有两个参数的函数变化到只有num1的函数中
* 在调用的时候就只会调用只有num1的函数
* 特别指出:函数的参数和调用没有关系,如果函数只有一个参数,但是却传入
* 了两个参数,仅仅只会匹配一个
* 所以在js中函数不存在重载
*/
var sum = function(num1) {
return num1+100;
}
//函数有如下一种定义方式
/**
* 如下定义方式等于定义了一个
* function fn(num1,num2){
* alert(num1+num2);
* }
* 所以通过以下的例子,充分的说明函数就是一个对象
*/
//自测,即使用的这样的方式,也是没有重载的(函数是对象是不存在重载的,在存在覆盖后面盖前面)
var fn = new Function("num1","num2","alert('fun:'+(num1+num2))");
var fn = new Function("num1","alert('fun:'+(num1))");
fn(12);
fn(12,22);
alert(sum(19));
alert(sum(19,20));
</script>
</head>
函数的另外一种定义方式
- 孔浩javaScript高级知识一
- javascript的高级知识
- JavaScript高级知识
- JavaScript 高级知识
- js笔记(一)-《javascript高级程序设计》- 数组小知识
- Javascript模块等高级知识
- JS javascript 中的高级知识
- JavaScript高级应用(一)
- javascript 高级程序设计 一
- JavaScript高级程序设计 (一)
- 高级 JavaScript(一)
- javascript高级程序设计知识整理(1)
- javascript高级程序设计知识整理(2)
- javascript高级程序设计知识整理(3)
- Javascript高级程序设计第三章知识总结
- JavaScript高级程序设计第八章知识总结
- JavaScript高级程序设计第十章知识总结
- javascript高级程序设计读书笔记(一)
- git常用命令
- WinMain()与CWinApp
- iOS经典
- Android--百度地图学习(第三章)如何给地图添加多个覆盖物
- Android UI线程异步调用
- 孔浩javaScript高级知识一
- 神奇的C#。。
- Ubuntu 13.04 系统栏白名单解锁
- C++拷贝构造函数详解
- rqnoj-150
- 【转贴】ListView使用技巧
- vs2005里的C++ 项目有clr程序、win32控制台程序、MFC程序,它们的区别
- html5资料
- LUA与python根本就不具有可比性