js基础知识之_函数
javascript函数
函数概念
将完成某一特定功能的代码集合起来,可以重复使用
白话函数理解-函数就是一个工厂,帮大家实现某一个功能
优点
-时程序更加简洁
-逻辑更有条例
-调用方便
-维护更加容易
函数的声明方式(创建)
1.基本语法
function 关键字
function 函数名(【参数1】,【参数2】....){
函数体
【return】//返回值
}
2.字面量定义的形式(匿名函数)
var 变量=function()(【参数1】,【参数2】....){
函数体
【return】//返回值
}
例子:三角调用
//函数
//基本语法-声明函数
function sanjiao() {
for ( var i = 0; i < 5; i++ ) {
for ( var j = 0; j < i; j++ ) {
document.write( '*' );
}
document.write( '<br/>' );
}
} //调用函数
sanjiao();
sanjiao();
sanjiao();
用字面量的形式声明函数
//字面量的形式声明函数----使用比较多
var sanjiao = function () {
for ( var i = 0; i < 5; i++ ) {
for ( var j = 0; j < i; j++ ) {
document.write( '*' );
}
document.write( '<br/>' );
}
} //调用函数
sanjiao();
sanjiao();
函数的调用方式
1.通过括号来调用
-函数名();
2通过触发事件来调用
-对象.事件=function(){}
那么如何做函数呢,就是
1.先弄明白你要干什么。
2.搭建函数的框架
3.分析需要的原料(参数)
4.安排处理流程
//带参数的函数
//创建处理平方的函数
function pingfang(num) {
var re = num * num;
alert(re);
} //调用平方的函数
pingfang( 8 );
//带两个参数的函数
//计算乘积
function chengji( num1, num2 ) {
var re = num1 * num2;
alert( re );
}
chengji( 4, 5 );
chengji( 55, 8 );
形参:就是占位置的没有实际意义的参数
实参:调用时写的实际参数。
return 表示函数的结束
如果函数没有return,则返回值是Undefined
变量的作用域
作用域:指的就是一段代码的作用范围
全局变量:
在页面中任何地方都能够访问得到的变量,拥有全局性
1,函数的最外层定义的变量
2,没有定义直接赋值的变量,拥有全局属性
局部变量
只能在固定的代码片段(函数片段中访问到)
1,函数内部定义的变量,就是局部变量(在函数内部用var声明的变量叫做局部变量,只有在内部能被操作)
2,参数也是局部变量
可以提高程序的逻辑性和安全性,减少名称的冲突
当一个函数当做另一个函数的参数,那么当参数的函数就叫做回调函数
//function pingfang( num ) {
// var re = num * num;
// alert( re );
//} //function fn() {
// return 5;
//}
//pingfang(fn());
javascript内置顶层函数
内置:ECMAscript自带的函数,把用的一些函数封装起来,我们不需要知道怎么实现的,只需要知道怎么调用
顶层:在页面当中的任何地方都可以调用,就相当于全局变量的作用,在什么地方都能调用这个函数
三个常见的内置顶层函数
1.Number() 转换成数值类型
var re = Number('123');
alert( re );
2.parseInt() 将字符串转换成整型
var re = parseInt( '123.456' );
alert( re );
//可以转Number转不了的数据
var re = parseInt( '100px' );
alert( re );
4.isNaN() 判断一个数是否不能转为数值类型(判断一个数据是不是非数字(不能转成数字))
javascript数组
数组是一个可以存储一组或是一系列相关数据
为什么使用数组
1.解决大量相关数据的存储和使用为题
2.便于程序的开发和维护
声明创建数组
隐形声明的方式
赋值
直接赋值 var a=[1,2,3];
声明后赋值 var a=[]; a[0]=1; a[1]=2;
通过对象来声明
var a=new Array(元素1,元素2,元素3...)
声明后赋值
var a=new Array();a[0]=1; a[1]=2;
但是讲的对象,就是属性和方法的集合
那么里面的属性其实就是变量,方法就是函数
隐形声明的方式
var shuiguo = ['苹果','香蕉','鸭梨','火龙果','西瓜','葡萄','蛇皮果'];
//alert( shuiguo.length );
alert(shuiguo[2]);
通过构造函数创建数组 数组的遍历和特点
一般数组。length-1就是数组的最大的下标
构造函数就是一套规则,通过构造函数创建的具体的东西就是对象
//构造函数创建数组
var shuiguo = new Array( '苹果', '香蕉', '鸭梨', '火龙果', '西瓜', '葡萄', '蛇皮果' );
document.write(shuiguo[4]);
//数组追加
var shuiguo = new Array( '苹果', '香蕉', '鸭梨', '火龙果', '西瓜', '葡萄', '蛇皮果' );
shuiguo[9] = '榴莲';
document.write(shuiguo);
//在数组最后追加元素
var shuiguo = new Array( '苹果', '香蕉', '鸭梨', '火龙果', '西瓜', '葡萄', '蛇皮果' );
shuiguo[shuiguo.length] = '菠萝';
shuiguo[shuiguo.length] = '芒果';
document.write(shuiguo);
图解,空位会用Undefined
数组的遍历
var shuiguo = new Array( '苹果', '香蕉', '鸭梨', '火龙果', '西瓜', '葡萄', '蛇皮果' );
for ( var i = 0; i < shuiguo.length; i++ ) {
document.write(shuiguo[i]+'很好吃<br/>')
}
二维数组
//北京,河北,黑龙江,山西
var jingdian = [["长城","八达岭","十三陵","石花洞","颐和园"],["西柏坡","嶂石岩","苍岩山","野三坡","北戴河","避暑山庄"],["镜泊湖","五大连池","太阳岛"],["五台山","恒山","平遥古城"]]; //测试数组的长度
//alert( jingdian.length );
document.write(jingdian[1][2]);
练习题数组中去找最大的值
用程序的思维是先找到0号元素,在拿0号元素去和其他的元素比较,比比当前的大就替换成现在的值
// 一组数字数组中寻找最大值
var array = [1, 26, 23, 6, 43, 87, 3, 5, 55];
var max = array[0];
for ( var i = 0; i < array.length; i++ ) {
if ( array[i] > max ) {
max = array[i];
}
}
document.write(max);
//写一个函数。处理最大的那个元素
function max( arr ) {
var m = arr[0];
for ( var i = 0; i < arr.length; i++ ) {
if ( arr[i] > m ) {
m = arr[i];
} }
return m;
} var array = [1, 26, 23, 6, 43, 87, 3, 5, 55];
var index = max( array );
document.write(index);
//遍历二维数组,输出景点
var array = [["长城", "八达岭", "十三陵", "石花洞", "颐和园"], ["西柏坡", "嶂石岩", "苍岩山", "野三坡", "北戴河", "避暑山庄"], ["镜泊湖", "五大连池", "太阳岛"], ["五台山", "恒山", "平遥古城"]]; for ( var i = 0; i < array.length; i++ ) {
for ( var j = 0; j < array[i].length; j++ ) {
document.write( '我要去' + array[i][j]+'<br/>' );
}
}
js基础知识之_函数的更多相关文章
- js基础知识之_入门变量和运算符
js页面效果学习 (轮播图,文字滚动效果等等) javascript能来做什么 1.数据验证 2.将动态的内容写入网页中(ajax) 3.可以对时间做出响应 4.可以读写html中的内容 5.可以检测 ...
- Js基础知识6-JavaScript匿名函数和闭包
匿名函数 1,把匿名函数赋值给变量 var test = function() { return 'guoyu'; }; alert(test);//test是个函数 alert(test()); 2 ...
- js基础知识总结:函数
函数内部的属性: arguments 和this是函数内部的两个特殊对象 arguments: function recursion(num){ if(num<=1){ return 1; }e ...
- js基础知识之_对象
javascript 对象 1.基于对象 一切皆对象,以对象的概念来编程 2.面向对象的编程(oop,Object oriented programming) 1.对象 就是人们要研究的任何事物,不仅 ...
- js基础知识之_流程控制语句
javascript 流程控制 流程控制:就是程序代码执行顺序 流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行 顺序结构 按照书写顺序来执行,是程序中最基本的流程结构 选择结构(分支结构 ...
- [JS复习] JS 基础知识
项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display :inline or bloc ...
- Node.js基础知识
Node.js入门 Node.js Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设在POSIX环境下运行 ...
- HTML+CSS+JS基础知识
HTML+CSS+JS基础知识 目录 对HTML+CSS+JS的理解 基础知识 对HTML+CSS+JS的理解 基础知识 插入样式表的三种方式 外部样式表:<link rel="sty ...
- 网站开发进阶(十五)JS基础知识充电站
JS基础知识充电站 1.javascript alert弹出对话框时确定和取消两个按钮返回值? 用的不是alert对话框,是confirm confirm(str); 参数str:你要说的话或问题: ...
随机推荐
- pcDuino无显示器刷机与使用
准备工作: pcduino : 点此购买 一个可用的并且启用了DHCP的有线路由器. 连接pcduino与路由器的网线一根. 至少1张4G microSD卡,如果内存卡不大,可以用内存卡刷内核,用u盘 ...
- mongodb windows下服务安装与卸载
安装服务.bat 内容: d:\mongodb2.4.3\bin\mongod.exe --dbpath d:\data\db --config d:\mongodb2.4.3\mongod.cfg ...
- 数据库分库分表(sharding)系列【转】
原文地址:http://www.uml.org.cn/sjjm/201211212.asp数据库分库分表(sharding)系列 目录; (一) 拆分实施策略和示例演示 (二) 全局主键生成策略 (三 ...
- ARM学习笔记6——程序状态寄存器访问指令
这两条指令结合,可用于对CPSR或SPSR进行读/写操作. 当需要保存或修改当前模式下CPSR或SPSR的内容时,首先必须将这些内容传递到通用寄存器中 1.MRS指令(Move to Register ...
- 【原】现有市场上H264 IPCamerad的功能
网络: 1.内置Web Server,通过IE实现远程监看.控制.设置等操作: 2.支持UPnP路由器,自动配置端口映射: 3.支持DDNS(动态域名解析).PPPoE拨号.DHCP网络协议: 4.支 ...
- [JLOI2013]卡牌游戏
[题目描述 Description] N个人坐成一圈玩游戏.一开始我们把所有玩家按顺时针从1到N编号.首先第一回合是玩家1作为庄家.每个回合庄家都会随机(即按相等的概率)从卡牌堆里选择一张卡片,假设卡 ...
- android camera(三):camera V4L2 FIMC
1. V4L2 1)简介 在Linux中,摄像头方面的标准化程度比较高,这个标准就是V4L2驱动程序,这也是业界比较公认的方式. V4L全称是Video for Linux,是Linux内核中标准的关 ...
- Stand-up meeting
A stand-up meeting (or simply "stand-up") is a daily team-meeting held to provide a status ...
- HW4.28
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- windows上zend server安装 报The server encountered an internal error or misconfiguration and was unable to complete your request -解决方法 摘自网络
windows上zend server安装完成后报如下错误: Internal Server Error The server encountered an internal error or m ...