JavaScript(4)
myfuns.js
//自定义函数
//输入两个数,再输入一个运算符(+,-,*,/),得到结果->函数 function jiSuan(num1,num2,operator){//特别强调 参数名请不要带var
var res=0;
switch(operator){
case "+":
res=num1+num2;
break;
case "-":
res=num1-num2;
break;
case "/":
res=num1/num2;
break;
case "*":
res=num1*num2;
break;
}
return res;
}
在html中引入js的方法
<script type="text/javascript" src="myfuns.js" language="javascript"></script>
html代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>js中函数的使用</title>
<script language="javascript" src="myfuns.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
<!--
var num1=window.prompt("请输入第一个num");
var num2=window.prompt("请输入第二个num");
var operator=window.prompt("请输入运算符");
num1=parseFloat(num1);
num2=parseFloat(num2);
//如何调用函数呢?
document.writeln("res=:"+jiSuan(num1,num2,operator));
//-->
</script>
</head>
<body>
</body>
</html>
eval可以使字符串当做js代码来执行。
var str="window.alert('ok')";
eval(str);
escape()函数可对字符串进行编码,这样就可以在所有的计算机上读取字符串。
传递中文时,不同浏览器对中文的支持不一样,编码方式不一样。
//escape和unescape函数往往配合使用,可以防止乱码出现。
var str1="顺平";
var str2=escape(str1);
window.alert(str1);
window.alert(str2);
var str3=unescape(str2);
window.alert(str3);
而moveTo()只在IE浏览器中生效。
window.moveTo(200,300);
引入js时不能用<script/>,必须用<script></script>.
函数的几种调用方式,
function test(val){
window.alert("您的输入是:"+val);
}
①直接调用:
test("中国北京");
②把函数赋值给变量,用变量调用:
var myvar=test;
myvar("中国北京");
如果,window.alert(test);或者window.alert(myvar);把test函数中的内容输出。
③关于接收函数返回值的问题
var myval=test;
var myvar=test("abc");
函数带参数和不带参数,情况是不一样的,一个是函数返回值,一个是函数的引用。
如果test函数没有返回值,但是又接收返回值了,则返回的就是undefined;如果有返回值,则接收的就是函数赋值后的引用。
js也有递归的,递归的运行要用到堆栈。
js函数的调用过程,内存分析:
案例:
//abc是一个函数,它接收数值
function(num1){
if(num1>3){
abc(--num1);
}
document.writeln(num1);
}
如果这样调用abc(5);则输出 3 3 4
分析图:

①函数的参数列表可以是多个变量
②参数列表可以多个,并且数据类型可以是任意的
③js支持参数个数可变的函数
④js支持创建动态函数
特别强调一下,js的函数天然支持可变参数
//编写一个函数,可以接收任意多个数,并计算它们的和
function abc2(num1,num2){
//在js中有一个arguments,可以访问所有传入的值
//window.alert(arguments.length);
//遍历所有的参数
for(var i=0;i<arguments.length;i++){
window.alert(arguments[i]);
}
}
可以这样调用:
abc2(2,3,4);
//说明JavaScript是一种动态语言
abc2(0,"helloworld");
arguments是系统本身就有的。
js不支持的函数的重载,因为它可以允许参数列表不一样。
数组
JavaScript数组的特点非常明显,数组里可以放任何类型的数据。
①为什么需要数组
存数据
②解决方法
使用数组,这种数据类型(引用类型/复杂类型/复合类型),数组的基本概念:用于存放一组数据。
特别强调:js中的数组,可以存放各种数据类型(数值/字符串...)
王大爷养乌龟(快速入门)。
在js中保留两位小数
avg_weight=new Number(avg_weight);
avg_weight=avg_weight.toFixed(2);
JavaScript(4)的更多相关文章
- 你不知道的Javascript(上卷)读书笔记之一 ---- 作用域
你不知道的Javascript(上卷)这本书在我看来是一本还不错的书籍,这本书用比较简洁的语言来描述Js的那些"坑",在这里写一些博客记录一下笔记以便消化吸收. 1 编译原理 在此 ...
- 初探JavaScript(三)——JS带我"碰壁"带我飞
已经写了两篇关于小白的JavaScript之行,不可否认,每一种语言都有其精华与糟粕之处,来不及细细体味其精华奥妙,也没法对其评头论足,只能先了解,后深入.到目前为止已经看完<JavaScrip ...
- 初探JavaScript(二)——JS如何动态操控HTML
除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次 ...
- 初探JavaScript(一)——也谈元素节点、属性节点、文本节点
Javascript大行其道的时候,怎么能少了我来凑凑热闹^_^ 基本上自己对于js的知识储备很少,先前有用过JQuery实现一些简单功能,要论起JS的前世今生,来龙去脉,我就一小白.抱起一本< ...
- tips javascript(一)
tips javascript(一) 实现type函数用于识别标准类型和内置对象类型,语法如下: var t = type(obj); function type(o){ if (o === n ...
- 面向对象的JavaScript(2):类
在小项目中对于JavaScript使用,只要写几个function就行了.但在大型项目中,尤其是在开发追求良好的用户体验的网站中,如SNS,就会 用到大量的JavaScrpt,有时JavaScript ...
- JavaScript(1)
JavaScript(1) 第一次见到JavaScript的时候,看到了熟悉的"Java",原来都是骗人的,李鬼不是李逵呀=.= 然而发现这个东西还是特别实用的,和Java比起来它 ...
- 前端开发面试题总结之——JAVASCRIPT(一)
___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...
- 前端笔记知识点整合之JavaScript(三)关于条件判断语句、循环语句那点事
一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力 ...
- 前端开发面试题总结之——JAVASCRIPT(三)
___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...
随机推荐
- 【C语言天天练(十一)】深入理解指针
引言:在C语言中.指针的地位是不言而喻的,要想非常好的掌握C语言,掌握指针是必须的,这也是C语言不同于其它语言的地方. (一)指针的指针 样例: int i; int *pi;/*把pi初始化为指向变 ...
- 每天一个命令 ls
默认建立一个目录时初始硬连接数为2若该目录下有几个目录就会再增加几个连接数 ls -li 查看inode信息 ls -al 查看所有文件信息 ls -lR 查看目录下目录下的文件(递归显示目录下的文件 ...
- apue学习笔记(第十六章 网络IPC:套接字)
本章将考察不同计算机(通过网络连接)上的进程相互通信的机制:网络进程间通信. 套接字描述符 正如使用文件描述符访问文件,应用程序用套接字描述符访问套接字. 许多处理文件描述符函数(如read和writ ...
- Skia构建系统与编译脚本分析
分析下Skia的构建系统,详细编译过程參看Windows下从源代码编译Skia.这里以ninja为例来分析.运行以下三条命令就能够完毕编译: SET "GYP_GENERATORS=ninj ...
- SQLSERVER 2008 链接 到 ORACLE 11
MSSQL2008R2 链接 ORACLE 11: 创建链接: exec sp_addlinkedserver 'DBLINK_ORACL' , 'ORACLE' , 'MSDAORA' , 'ORC ...
- Spring学习十五----------Spring AOP API的Pointcut、advice及 ProxyFactoryBean相关内容
© 版权声明:本文为博主原创文章,转载请注明出处 实例: 1.项目结构 2.pom.xml <project xmlns="http://maven.apache.org/POM/4. ...
- Spring学习十三----------Spring AOP的基本概念
© 版权声明:本文为博主原创文章,转载请注明出处 什么是AOP -面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术 -主要的功能是:日志记录.性能统计.安全控制.事务处理. ...
- 【C语言天天练(二)】statickeyword
引言: statickeyword不仅能够修饰变量.并且能够修饰函数.了解它的使用方法,不仅对阅读别人的代码有帮助,也有助于自己写出更加健壮的程序. 使用方法: ...
- Spring Boot 从入门到实战汇总
之前写过几篇spring boot入门到实战的博文,因为某些原因没能继续. 框架更新迭代很快,之前还是基于1.x,现在2.x都出来很久了.还是希望能从基于该框架项目开发的整体有一个比较系统的梳理,于是 ...
- centOS中如何修改运行级别!
在图形化界面可以用Ctrl+Alt+F2进入命令行窗口 * 假如你使用了虚拟机,有可能会出现不能进去的问题,原因是因为热键冲突 * 解决办法:修改热键就行了 edit→parameter→hot ke ...