js学习笔记(二) JavaScript

本系列笔记为JavaScript的学习笔记
JavaScript函数部分学习

1.JS函数

函数的作用在于接收数据、处理数据并返回结果。它最棒的地方在于能一次编程多次调用,实现了代码复用。

1.1函数的定义

包含三种方式,声明、表达式、箭头表达式,定义函数需要形参params,调用函数需要实参argv

a.函数声明:
一般有三种方式声明,分别是函数声明函数表达式
函数声明时需要带关键字function foo([params]){...}

//ref:codecademy
function name(parameters){
//执行的代码
}
//例子
function my_add(a,b){
  return a+b;
}
//例子二
function isGreaterThan(numberOne, numberTwo){
  if(numberOne>numberTwo){return true  }
  else{return false}
}

console.log(isGreaterThan(1,5))

b.函数表达式(赋值)函数表达式一般将函数储存在一个变量中,但注意整个表达式要以分号结尾

var x = function(y){
    return y*y
};
//将表达式x赋值成函数,x()来调用

c.箭头函数表达式(简写)
变量直接赋值,=(等式右边是包含参数的括号)最右边是=>{body}韩式表达式
var foo=(params)=>{statement}

//没有绑定this指针
(params)=> {fucntiuon body}
(params)=> expression //means return expressions
()=>{statements} //no params function
//note:params 指的是形参,argument指的是实参

//例子 无参数
let me = 0
const pressPowerButton = ()=>{ 
if (me){console.log('yes it is')}
else{console.log('no it is`not')}
};

pressPowerButton();
//ref:https://developer.mozilla.org/zh-CN/docs/Learn/Getting_started_with_the_web/JavaScript_basics

//带参数的箭头函数表达书,单参数
const takeOrder = (topping)=>{
      console.log('Order:pizza topper with'+topping)  //+连接字符串
};
takeOrder('marhrooms')
//ref:http://www.111cn.net/wy/147287.htm
//http://blog.csdn.net/qq_35774189/article/details/70187622
//http://blog.csdn.net/u010081689/article/details/51025836

//多参数输入
const takeOrder = (topping, crustType) => {
  console.log('Order:'+crustType+ ' pizza topped with ' + topping);
};

takeOrder('bacon','thin')
}

//如果只有一个参数可以省略圆括号,如果只有一行,可省略return和花括号
const volumeOfSphere = (diameter) => {
  return (1/6) * Math.PI * diameter * diameter * diameter;
}

console.log('The volume of a sphere is ' + volumeOfSphere(10) + ' cubic centimeters');//除去括号和return等后一致,省略
const volumOfSphere = diameter =>(1/6)*Math.PI*diameter**3
console.log('volum of sphere is ',volumOfSphere(10),'cubic centimeters')

1.2函数的返回值

函数在对数据进行操作后可以返回值,值的类型包括数字、字符串、数组、对象等,也包括函数

//function return 对应的数值
let orderCount = 0
const takeOrder = (topping, crustType) => {
  orderCount=orderCount+1;
  console.log('Order:'+crustType+ ' pizza topped with ' + topping);
};

const getSubTotal= (itemCount) => {
  return itemCount*7.5
};

const getTax= (orderCount)=> {
  return getSubTotal(orderCount)*0.06   //函数内调用函数
  //return orderCount*7.5*0.06
};

const getTotal= () =>{
  return getTax(orderCount)+getSubTotal(orderCount)
};

takeOrder('bacon','thin')
takeOrder('mushrooms','thick')
takeOrder('oil','middle')
//three time order
console.log('pizza prize is',getSubTotal(orderCount))
//use func 计算价格
console.log('total price with tax is:',getTotal())
//计算含税价格
console.log('check out')

tips
1.函数声明需要加关键字function
2.函数表达式是变量,需要在末尾加分号
3.箭头表达式单变量可省略括号(),单语句可省略return{}