有关于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协议 。转载请注明出处!