2018.12.28学习JavaScrip
JavaScript
函数:function
function:声明函数,后面加函数名(){
}
test();
function test(){
alert('this is a test');
}
//test(); 放在上下都可以
//函数名称严格区分大小写
function TEST(){
alert("hello king");
}
// TEST();
//函数名称重复会产生覆盖
function test(){
alert('hello nana');
}
// test();
function test1(){
alert('this is test1 function');
}
//alert(text1())
//alert(test1()); 先输出'this is test1 function' 之后输出undefine
输出它的返回值
function test2(){
// return null;
// return undefined;
// return;
// return true;
// return 'this is king';
// return 1.2;
//alert('this is a test');
// return 1;
}
alert(test2());
alert(typeof (alert('this is a test')));
return 返回
function calc(num1,num2){ 形参
return num1+num2;
}
// alert(calc(1,2)); alert(calc(1,2));参数 / alert(window.calc(3,5));
// alert(window.calc(3,5));
// alert(calc(1,2,3,4,5,6));
function calc1(num1=1,num2=2){
return num1+num2;
}
function calc1(num1,num2){
num1=num1||1;
num2=num2||2;
return num1+num2;
}
//alert(calc1());
//实现默认参数的形式
function calc4(x,y){
x=x||0;
y=y||0;
return x+y;
}
function calc4(x,y){
if(x===undefined){
x=0;
}
y=y===undefined?0:y;
return x+y;
}
//alert(calc4());
//alert(calc(1,3,4)); //控制着对象的长度
function calc(x,y){
//return arguments;
// alert(arguments[0]);
// alert(arguments.length);
x=arguments[0]?arguments[0]:0;
y=arguments[1]?arguments[1]:0;
return x+y;
}
//alert(calc());
//alert(calc(1,2));
//可变参数形式的函数
function test(){
var paramsNum=arguments.length;//得到传入参数的个数
var sum=0;
for(var i=0;i<paramsNum;++i){
sum+=arguments[i];
}
return sum;
}
//alert(test(1,2,3,4,5,6));
function test1(){
var paramsNum=arguments.length;
var max=0;
for(var i=0;i<=paramsNum-1;i++){
if(arguments[i]>max){
max=arguments[i];
}
}
return max;
}
alert(test1(123,3432,23456,445643)); 输出的是最大值,也是最后一位 /{return num1+num2;} 有几个读几个
//变量作用域
var x=1; //x=1是全局变量 x=19是局部变量 全局变量写在函数外 局部变量写在函数内 只取到变量取不到值
function test(){
document.write('函数体内x的值为:'+x+'<br/>'); //undefined,x值取下面的,但是取不到值
var x=19;
document.write('函数体内对x重新赋值,此时x的值为:'+x+'<br/>'); //19
}
document.write('函数体外x的值为:'+x+'<br/>'); //1
test();
document.write('x的值为:'+x+'<br/>'); //1
//document.write('<hr color="red"/>');
//全局变量和局部变量的区别 //全局变量写在函数外 局部变量写在函数内 只取到变量取不到值
/* function test(){
var x=1;
alert(x);
}
test();
alert(x); //取不到变量,报错*/
function test(){
y=5;
alert(y);
}
// test();
// alert(y);
var x=1,y=2;
function calc(x,y){
document.write('a的值为'+a+'<br/>');//undefined
document.write('函数体内x的值为:'+x+'<br/>'); //1
document.write('函数体内y的值为:'+y+'<br/>'); //2
var x=0,y=6;
z=x+y;
x=x+y;
var a=198;
document.write('a的值为:'+a+'<br/>'); //198
document.write('x的值为:'+x+'<br/>'); //6
return z;
}
//alert(calc(x,y));
//回调函数的例子
function calc(x,y){
return x()+y();
}
function test1(){
return 3;
}
function test2(){
return 5;
}
//alert(calc(test1,test2));
//alert(calc(function(){return 5;},function(){return 10;}));
function say (value) {
alert(value);
}
//alert(say);
say('hi js.');
function()匿名函数 function aa()命名函数