有关于JavaScript的条件、循环与函数。

  • if……else语句

    if(条件){
        
    }
    else if(条件){
        
    }else{}
  • switch语句

    switch (expression) {
      case 1:
        run this code
        break;
    
      case 2:
        run this code instead
        break;
        
      // include as many cases as you like
    
      default:
        actually, just run this code
    }

1.布尔值(true / false):任何不是 false, undefined, null, 0, NaN 的值,或一个空字符串(’’)在作为条件语句进行测试时实际返回true

例如:

var a = 'a';
if (a) {
  alert("true");
} else {
  alert("false");
}

2.逻辑运算符

&&:逻辑与; 使得并列两个或者更多的表达式成为可能,只有当这些表达式每一个都返回true时,整个表达式才会返回true.
|| :逻辑或; 当两个或者更多表达式当中的任何一个返回 true 则整个表达式将会返回 true.
! : 逻辑非; 对一个布尔值取反, 非true返回false,非false返回true.

3.三元运算符

( condition ) ? run this code : run this code instead
var a = (b)?c:d
//b真 a=c,b假:a=d
4.循环
for (initializer; exit-condition; final-expression) {
  // code to run
}
//break跳出循环
for (var i = 0; i < contacts.length; i++) {
    var splitContact = contacts[i].split(':');
    if (splitContact[0] === searchName) {
      para.textContent = splitContact[0] + '\'s number is ' + splitContact[1] + '.';
      break;
    } else {
      para.textContent = 'Contact not found.';
    }
  }
//continue跳过迭代
//continue语句不是完全跳出循环,而是跳过当前循环而执行下一个循环。
var num = input.value;//给定一个num

for (var i = 1; i <= num; i++) {
  var sqRoot = Math.sqrt(i);//平方根
  if (Math.floor(sqRoot) !== sqRoot) {//判断四舍五入后的平方根是否等于原平方根
    continue;//平方根不是整数,跳过循环,进入下一循环
  }
  para.textContent += i + ' ';
}
//while语句
initializer
while (exit-condition) {
  // code to run

  final-expression
}
//do……while
initializer
do {
  // code to run

  final-expression
} while (exit-condition)
5.函数
//定义函数
function name(参数){
    //函数体;
}
//调用
name();

例:
function myFunction() {
  alert('hello');
}
myFunction()
//匿名函数:没有函数名name
//它不会自己做任何事情。
function() {}
例:
var myButton = document.querySelector('button');
myButton.onclick = function() {
  alert('hello');
}//单击button,会运行该函数。

//如下将匿名对象分配为变量的值。
var myGreeting = function() {
  alert('hello');
}
//现在可以调用该函数了。
myGreeting();
//还可以分配给多个变量。
var anotherGreeting = function() {
  alert('hello');
}
//现在两个变量都可以调用该函数了。
myGreeting();
anotherGreeting();
//但最好不要这样做:)
/*主要使用匿名函数来运行负载的代码以响应事件触发(如点击按钮) - 使用事件处理程序
匿名函数也称为函数表达式。函数表达式与函数声明有一些区别。函数声明会进行声明提升(declaration hoisting),而函数表达式不会。*/
6.函数参数
//当您需要指定多个参数时,它们以逗号分隔。
var myText = 'I am a string';
var newString = myText.replace('string', 'sausage');//需要给函数传参
//有些函数的参数可以写或者不写,比如join,不写的话默认为逗号分隔。
var myArray = ['I', 'love', 'chocolate', 'frogs'];
var madeAString = myArray.join(' ');// returns 'I love chocolate frogs'
var madeAString = myArray.join();// returns 'I,love,chocolate,frogs'

7.函数的作用域

当你创建一个函数时,函数内定义的变量和其他东西都在它们自己的单独的范围内, 意味着它们被锁在自己独立的隔间中, 不能从函数外代码其它函数内访问。所有函数的最外层被称为全局作用域。 在全局作用域内定义的值可以在任意地方访问。

8.函数内部也可以调用函数

例:
function myBigFunction() {
  var myValue = 1;
  subFunction1(myValue);
  subFunction2(myValue);
  subFunction3(myValue);
}

function subFunction1(value) {
  console.log(value);
}

function subFunction2(value) {
  console.log(value);
}

function subFunction3(value) {
  console.log(value);
}

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

js学习笔记-事件 上一篇
js学习笔记-初识js 下一篇