JavaScript基础笔记(二)

124 阅读3分钟

逻辑运算符

&&   //逻辑与  并且
||    //逻辑或
var isLogin = false
!isLogin      //  取反   表示isLogin不为false的时候

三元运算符

三元运算符也称为三目运算符

条件?真:假 ,意思就是条件满足的时候就是执行真,条件不满足就执行假

1>2 ? true : false     // false

解决了简单的判断还用if来判断的麻烦性

switch语句

switch语句表示在满足条件下就执行,解决了多个ifelse if的条件判断的复杂问题,conse后面的变量与每一个传进来的条件做比较,如果一满足就执行,不满足就break跳出循环,如果条件一直满足就一直执行,直到完成。如果都不满足就直接执行default退出。

注意:如果在switch中某一个条件忘记写break那么就继续执行,直到遇见下一个break跳出执行

var weather = "sum"
switch(weather) {
    case rainy:
        alert("1")
        break;
    case sum:
        alert("2")   
        break;      //  条件满足,跳出执行
    default:        //都不满足,执行这里
        break;  
}

for循环

for循环可以循环数值,也可以循环数组

for(条件;结束条件;执行什么条件){
		//代码块
}

循环数组

var shopping = [....]
for(var j = 0; j<shopping.length; j++){
		//想要执行的操作
}

//例子
var cars = ["BMW", "Volvo", "porsche", "Ford", "Fiat", "Audi"];
var text = "";
var i;
for (i = 0; i < cars.length; i++) {
  text += cars[i] + "<br>";
}
document.getElementById("demo").innerHTML = text;

break

break是在for循环中,用if来判断执行到某一项的时候想要终止操作

var x=0
for(;;){   //表示一个死循环
	if(x>100){
    	break     // 大于100的时候在这里终止执行
    }
    x++     //101
}

continue

continue表示跳出循环,并没有终止循环,紧接着继续执行,仅结束本次循环并且下次循环的时候不再执行本次结束的条件

var sum=0
for (var i=1;i<=10;i++){
    if(i===8){       //  不加8
    continue
    }
    sum=sum+i
}
console.log(sum);  // 47

while循环

while循环只有一个条件,满足就执行,执行到满足条件就不再执行

初始化条件
while(判断循环结束条件){
	//执行的代码
}

//例子:求100以内奇数的和
var sum=0
var n=99
while(n>0){
    sum=sum+n
    n=n-2
}
console.log(sum)     // 2500

while是先判断,条件满足了再执行

do while

do while先执行再判断,比如做题的时候,先选择答案,再判断选择的答案是否正确

do{
	//执行的代码
}while(条件)


var sum = 0;
var i = 0;
do {
    i = i + 1;
    sum = sum + i;
} while (i < 10)
console.log(sum)    //  55

函数

函数主要用于封装重复性的代码,在需要的地方直接调用,调用的时候可以传入参数,传入参数的时候要在方法的括号里用形参接收

function add(a,b){
    var r= a+b
    return r
}
console.log(add(1,2))     //  3

return表示一个出口,想要返回什么,如果没有return最终可能会返回undefined

函数表达式

var add = function (){}

匿名函数

function (){ }

函数作用域

函数作用域,在全局下声明的变量可以在局部或者全局下的任意地方使用,但是局部作用域只能在函数体内部使用,如果有两个相同名的函数且内容不一样,我们又需要都执行,这个时候可以用匿名函数包裹起来,重新定义一个名字并且赋值到window上,这个时候直接调用新的方法名就OK了

(function(){
  var name="小太阳"
  var hello= function(){
      console.log("hello"+name)
  }
  window.first=hello;
})()
first();


(function(){
  var name="小太阳"
  var hello= function(){
      console.log("hello"+name)
  }
  window.str=hello;
})()
str();

object 对象

对象的字面量创建时最常用的一种方式,万物皆对象,对象就是有自己的属性和方法。

var person={
    name:"小太阳",
    fav:function(){
        alert("小妞")
        return "小美女"
    }
}
console.log(person.fav())    //弹出小妞    返回小美女

注意:如果没有return结果会返回undefined