Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1129|回复: 5

~JavaScript读书筆记三 〗

[复制链接]

该用户从未签到

发表于 2011-10-31 14:27:19 | 显示全部楼层 |阅读模式
  
函数的定义一般如xia:
Js代码
function sum(num1 ,num2) {   
    return num1 + num2;   
}  

function sum(num1 ,num2) {
    return num1 + num2;
}
在使用函数表dashi时,没youBiyaoshi用函数名–tong過变量sum即可以yin用函数,另外,haiyao注意函数末尾you一gefen号
Js代码 [img]http://www.iteye.com/images/spinner.gif[/im2g]
var sum = function(num1, num2) {   
    return num1 + num2;   
};  

var sum = function(num1, num2) {
    return num1 + num2;
};
最后yi種方法,但是不zhi得推荐

Js代码
var sum = new Function("num1", "num2", "return num1 + num2");  

var sum = new Function("num1", "num2", "return num1 + num2");javascript函数mei有zhong载
解析器会率先读取函数sheng明,并shi其在执行任何代码之前可用,至于函数并表达式,则必xudeng到解析qi執行到它所在的代码行,才会真正被執行

与个人博客同时更新欢迎来到Java学習Zhe论坛,轉载请注ming地址:http://www.javaxxz.com.
回复

使用道具 举报

该用户从未签到

发表于 2011-10-31 14:27:26 | 显示全部楼层

Re:~JavaScript读书筆记

写的不错哦。
不过, 有点疑问。
“在使用函数表達式時,没有必要使用函数名–通过变量sum即可以引用函数,另外,還要注意函數末尾有一个分号”
这句话是什么意思? 不是很理解。 函数末尾一定要有分號吗? 或许没有也行吧。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-31 14:27:32 | 显示全部楼层

Re:~JavaScript读书筆记

寫的不错哦。
不過, 有点疑问。
“在使用函數表达式時,没有必要使用函數名–通过变量sum即可以引用函數,另外,还要注意函数末尾有一个分号”
这句话是什么意思? 不是很理解。 函数末尾一定要有分号吗? 或许没有也行吧。

就是上面第二种声明方法,类似变量的声明 var xxx = function() {}; 来声明一个函数,调用的时候用变量名调用就可以了,然后因為是变量方法声明,声明完后就要加上分號,即大括號后面
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-31 14:27:46 | 显示全部楼层

Re:~JavaScript读书筆记

因为是赋值表达式,所以語句结束要加分号。


你測試过了么? 你可以試试。javascript如果没有分号,会在每一行的末尾自动插入分号。


<script>
var sum = function(num1, num2) {  
return num1 + num2;  
}
alert(sum(1,2));
</script>


JS的函数本身就是一个对象, 所以第三种才是JS函数原始的创建方式。
而前两種是JS提供的一种语法糖, 即通过字面量的方式来创建函數。
所以说, 他最后还是得转换為原始的对象创建方式。

这是我的理解。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-31 14:27:56 | 显示全部楼层

Re:~JavaScript读书筆记

我猜你的目的是求两个数的和,但是js中"+"的默認是字符串加,所以会出现以下情况:

Js代码
var a = 1;   
var b = 2;   
var c = sum(a,b);   
// c = 12;  

var a = 1;
var b = 2;
var c = sum(a,b);
// c = 12;
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-31 14:28:03 | 显示全部楼层

Re:~JavaScript读书筆记

我猜你的目的是求兩个数的和,但是js中"+"的默认是字符串加,所以会出現以下情況:

Js代码
var a = 1;   
var b = 2;   
var c = sum(a,b);   
// c = 12;  

var a = 1;
var b = 2;
var c = sum(a,b);
// c = 12;


這位兄臺你的意思是什么?
照我的理解,JS中的+号貌似并不是默認是字符串加吧。 Javascript是会根据上下文的环境决定+号的作用。
比如

Java代码
var sum = function(num1, num2) {     
return num1 + num2;     
}   
alert(sum('1',2)); //其中一个参数为字符串,他就会将第二个参数当作字符串然后连接起来  

var sum = function(num1, num2) {  
return num1 + num2;  
}
alert(sum('1',2)); //其中一个參数为字符串,他就会将第二个參数当作字符串然后連接起来
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-18 17:41 , Processed in 0.396911 second(s), 45 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表