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()命名函数

原文地址:https://www.cnblogs.com/liuwei1/p/10191206.html