《悟透javascript》学习笔记:四、函数的魔力
引言
JavaScript的代码就只有 function 一种形式,function 就是函数的类型。也许其他编程语言还有 procedure 或 method 等代码概念,但在 JavaScript 里只有 function 一种形式。当我们写下一个函数的时候,只不过是建立了一个function类型的实体而已。
函数类型
1. 定义型函数,如下:
<script language="javascript">
function func(){
alert("hello");
}
func();
</script>
2. 参数型函数,如下:
<script language="javascript">
func = function(){
alert("hello");
}
func();
</script>
预编译
想想下下面的代码,然后执行看结果
<script language="javascript">
function func(){
alert("hello");
}
func();
function func(){
alert("hi~~");
}
func();
</script>
上面的代码,结果两次都弹出“hi~~”,这是为什么?原来,JavaScript 执行引擎并非一行一行地分析和执行程序,而是一段一段地分析执行的。而且,在同一段程序的分析执行中,定义式的函数语句会被提取出来优先执行。函数定义执行完之后,才会按顺序执行其他语句代码。也就是说,在第一次调用func之前,第一个函数语句定义的代码逻辑,已被第二
个函数定义语句覆盖了。所以,两次都调用都是执行最后一个函数逻辑了。(这实际上就是因为只有一个函数变量,却多次赋值,所以当然只会保留最后一次的赋值了)
上面的情况出现的前提是js必须在同一代码快中,如果两个同样的函数在不同的代码块中就不会出现上面的状况了,如下:
<script language="javascript">
function func(){
alert("hello");
}
func();
</script>
<script language="javascript">
function func(){
alert("hi~~");
}
func();
</script>
试一试
1. 先用脑袋运行出结果,然后再执行比较
<script language="javascript">
func = funct
相关文档:
JavaScript
函数定义语法总结
作者
黄诚
QQ
群:
65643887
1
.正常的定义方法:
function functionName([arguments]){
Javascript statements
[return expression]
}
例
1:
function evalScript( i, elem ) {
&n ......
//统计字符串中特定字符串的个数
function getStrCount(scrstr,armstr)
{ //scrstr 源字符串 armstr 特殊字符
var count=0;
while(scrstr.indexOf(armstr) >=1 )
{
scrstr = scrstr.replace(armstr,"")
count++;
}
re ......
history对象3个方法back()、forward()和go(),这些方法可以调用历史表中包含的文档。
back()方法装入历史表中的前一个页面,等效于浏览器中的Back按钮
forward()方法装入历史表中的后一个页面,等效于浏览器中的Forward按钮
go()方法进入历史表中的特定文档,可以取整形参数或字符串参数
go(n)n>0时,装入历史表中的 ......
C#代码与javaScript函数的相互调用
问:
1.如何在JavaScript访问C#函数?
2.如何在JavaScript访问C#变量?
3.如何在C#中访问JavaScript的已有变量?
4.如何在C#中访问JavaScript函数?
问题1答案如下:
javaScript函数中执行C#代码中的函数:
方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中 ......
引言
JavaScript没有 “类”的概念!这让很多学习过高级语言的人感到很不爽,其实比之于C语言又如何呢?显然JavaScript要比C语言好用很多。
不废话,上代码
<script language="javascript">
/*一句句的看更容易明白*/
//声明一个对象,但它什么都没有
var life = {};
//任 ......