1.Java script 中的函数
1.函数也叫方法
2.实现具体功能的代码的集合【封装】
3.通过关键字 function 创建函数
4.具体格式
function [函数名称] ([参数列表]){
[return xxxx;]
}
1.function 创建函数关键字
2.函数名称-有时候没有名称【匿名函数】
3. ([参数列表])–没有参数的时候空括号()
4.参数–将函数以外的数据值传递到函数里面进行运算【找帮手】,可以有多个,“,”分割
5.{} --函数体
6.return 语句 – 函数执行完成以后有结果的时候使用 return 语句,出现在函数的最后一句,函数执行完成以后没有结果的时候不用写 return 语句。
注意:
1.有参数的函数,1 看函数的参数个数,2 传参数值和变量都可以,3.注意顺序
2.有返回值的函数,需要定义变量类接收返回值
【函数调用口诀:要什么,给什么;给什么,收什么】
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Java script 中的函数</title>
<script>
function test1(){
alert("没有参数的,没有返回值的test1函数");
}
function test2(num){
alert("有一个参数的,参数值=="+num+",没有返回值的test2函数");
}
function test3(str){
alert("有一个参数的,参数值=="+str+",有返回值的test3函数");
return "hello";
}
function test4(num,str){
alert("有2个参数的,参数值=="+num+",参数值=="+str+",有返回值的test4函数");
return num+str;
}
//匿名函数
window.οnlοad=function(){
//1.函数也叫方法--实线具体某个功能的代码的集合【封装】
//2.通过关键字 function 创建函数
//function[函数名称] ([参数列表]){[returnXXXXXX;]}
//1.function 创建函数关键字
//2.函数名称-有时候没有名称【匿名函数】
//3.([参数列表])---没有参数的时候空括号()
//4.参数---将函数以外的数据值传递到函数里面进行运算【找帮手】,可以有多个,“,”隔开
//5.{}--函数体
//6.return 语句---函数执行完成以后有结果的时候使用return语句。
//出现在函数的最后一句,函数执行完成以后没有结果的时候不用写。
//调用函数
//首先看参数,【1.有没有参数,2.如果有看有几个参数{对应,数据值和变量都可以}】
//然后看返回值【1.有没有返回值,{有就收}】
//test1();
//test2(123);
var val0=test3(456);
alert(val0);
//var ta="world"
//var val1=test3(ta);
//alert(val1);
//var ta="world" ;
//var val2=test4(123,test3(ta));
//alert(val2);
//首先看参数,如果有,就要一一对应【个数要匹配】
//可以是具体数据值,也可以是变量,
//当函数在调用的时候,参数可以是某个函数,
//参数可以某个函数时,有返回值的函数,会将函数的返回值作为参数的数据值。
//参数可以某个函数时,没有返回值的函数,会将undefinde作为参数的数据值
//然后看返回值{有就收}
//总结:[要什么,给什么,给什么,收什么]
//上面的函数调用是没有使用对象,因为上面的函数,没有定义在对象中。
//当某个函数是属于某个对象的时候需要使用对象名称调用。
// var stuobj={getName:function(str){
return str+"san";
// }};
//var name=stuobj.getName("zhang");
alert(name);
}
</script>
</head>
<body>
</body>
</html>
2.变量的作用域
变量的组成【1.var 2.名称 3.初始值 4.作用域】
变量的作用域就是变量的有效范围
首先要根据位置确定变量
1.全局变量—不在函数【匿名】/对象里面的变量
可以在任何一个函数中被使用
var name="zhangsan";
function test1(){
alert(name);
}
function test2(str){
alert("有参数的函数test2----全局变量"+name);
}
var obj={getName:function(){
alert(name);
}}
window.οnlοad=function(){
//在有名函数
// test1();
//test2("hello");
//在匿名函数
//alert(name);
//在对象的函数
// obj.getName();
}
2.局部变量,-----在函数【匿名】里面的变量,包括函数的参数
只能在定义本变量的函数中被使用。
函数的参数也属于局部变量
对象中的变量只属于本对象
对象中函数里面/函数参数—局部变量
对象中不在函数里面/不是函数参数—对象的全部变量
对象的全局变量,需要使用对象名称
3.非对象中的情况,局部变量的名称,与全局变量的名称一样
局部变量的值覆盖了全局变量的值----全局变量的隐藏
如果一定要使用被隐藏的全局变量的值 -----【this.全局变量的名称】
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>变量的作用域</title>
<script>
//变量的组成【1.var 2.名称 3.初始值 4.作用域】
//变量的作用域就是变量的有效范围
//首先要根据位置确定变量
//1.全局变量---不在函数【匿名】/对象里面的变量
//可以在任何一个函数中被使用
var name="zhangsan";
function test1(){
alert(name);
}
function test2(str){
alert("有参数的函数test2----全局变量"+name);
}
var obj={getName:function(){
alert(name);
}}
window.οnlοad=function(){
//在有名函数
// test1();
//test2("hello");
//在匿名函数
//alert(name);
//在对象的函数
// obj.getName();
}
/* //2.局部变量,-----在函数【匿名】里面的变量,包括函数的参数
//只能在定义本变量的函数中被使用。
function method1(){
var name="lisisi";
}
function otherMethod(){
alert(name);
}
var obj={getName:function(){
alert(name);
window.οnlοad=function(){
//otherMethod();不能执行
//alert(name);不能执行
// otherMethod();不能执行
//obj.getName();不能执行
}
*/
/*
//函数的参数也属于局部变量
function method1(canshu ){
alert(canshu);
}
function otherMathod( ){
alert(canshu);
}
var obj={getName:function(){
alert(canshu);
}}
window.οnlοad=function(){
//method1("hello");
//otherMathod(); 不能访问
//alert(canshu); 不能访问
//obj.getName(); 不能访问
}
*/
/*//对象中的变量只属于本对象
//对象中函数里面/函数参数---局部变量
//对象中不在函数里面/不是函数参数---对象的全部变量
//对象的全局变量,需要使用对象名称
var obj={name:"zhangsanfeng",getName:function(){
var testname="lisisi";
alert("对象的全局变量=="+this.name);
}}
function mymethod1(){
alert(obj.name);
}
window.οnlοad=function(){
//obj.getName();
mymethod1();
}
*/
//非对象中的情况,局部变量的名称,与全局变量的名称一样
//局部变量的值覆盖了全局变量的值----全局变量的隐藏
//如果一定要使用被隐藏的全局变量的值 -----【this.全局变量的名称】
var testvalue="zhangsan";
function doTest1(){
var testvalue="lisi";
//alert(testvalue);
alert(this.testvalue);
}
window.οnlοad=function(){
doTest1();
}
</script>
</head>
<body>
</body>
</html>
3.javascript 中的运算符
1.算术运算符 + 、-、、/、%【求余/取模】、++【自增】、–【自减】,++【自增】、–【自减】运算的优先级高于 + 、-、、/、%
2.比较运算符 == , [===] , != , > , < , >= , <=
3.逻辑运算符 || (或) ,&& (与), !(非)
4.条件运算符 【(判断表达式) ? 数值 1 : 数值 2】 ()? :
5.typeof 操作符–检测变量的数据类型
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Java script 运算符</title>
<script>
window.οnlοad=function(){
//算数运算符+ - * / % ,++【自增】 --【自减】
var num1=10;
var num2=3;
document.write("<h1>"+num1+"+"+num2+"="+(num1+num2)+"</h1>");
document.write("<h1>"+num1+"-"+num2+"="+(num1-num2)+"</h1>");
document.write("<h1>"+num1+"*"+num2+"="+(num1*num2)+"</h1>");
document.write("<h1>"+num1+"/"+num2+"="+(num1/num2)+"</h1>");
document.write("<h1>"+num1+"%"+num2+"="+(num1%num2)+"</h1>");
//++【自增】
//1.变量++【先用后加1】
//document.write("<h1>"+num1+"++ =="+(num1++)+"</h1>"); 10
//document.write("<h1>"+num1+"</h1>"); 11
//2++变量【先加1后再用】
//document.write("<h1>++"+num1+"+ =="+(++num1)+"</h1>"); //11
//document.write("<h1>"+num1+"</h1>");//11
//--【自减1】
//1.变量--【先用后减1】
//document.write("<h1>"+num1+"-- =="+(num1--)+"</h1>"); //10
//document.write("<h1>"+num1+"</h1>"); //9
//2.--变量【先减1后再用】
//document.write("<h1>--"+num1+"=="+(--num1)+"</h1>"); //9
// document.write("<h1>"+num1+"</h1>");//9
//比较运算符 == [==] !=> < >= <=
/*
var num1=10;
var num2=3;
document.write("<h1>"+num1+">"+num2+"="+(num1>num2)+"</h1>");
document.write("<h1>"+num1+"<"+num2+"="+(num1<num2)+"</h1>");
document.write("<h1>"+num1+">="+num2+"="+(num1>=num2)+"</h1>");
document.write("<h1>"+num1+"<="+num2+"="+(num1<=num2)+"</h1>");
document.write("<h1>"+num1+"=="+num2+"="+(num1==num2)+"</h1>");
//[= 赋值] [== 数据值相等][=== 数据类型数据值]
var test1=10;
var test2="10";
//document.write("<h1>"+test1+"=="+test2+"="+(test1==test2)+"</h1>");
//document.write("<h1>"+test1+"==="+test2+"="+(test1===test2)+"</h1>");
*/
//逻辑运算符||[或] &&[与] ![非]
/*
var boo1=true;
var boo2=false;
document.write("<h1>"+boo1+"||"+boo2+"="+(boo1||boo2)+"</h1>");
document.write("<h1>"+boo1+"&&"+boo2+"="+(boo1&&boo2)+"</h1>");
document.write("<h1>!"+boo1+"="+(!boo1)+"</h1>");
*/
//条件运算符【(判断表达式) ? 数值1[true] : 数值2[错误] 】
/*var chengji=59;
var res=(chengji>=60)?"及格":"不及格";
alert(res);
*/
//typeof 操作符--检测变量的数据类型
var num1=100;//number
var str="100"; //string
var array=[]; //object
alert(typeof array);
}
</script>
</head>
<body>
</body>
</html>