js基础篇--全局变量和局部变量+数据类型+运算符+语句

全局变量+局部变量

在函数外部定义的变量称为全局变量。

作用域在页面打开时创建,在页面关闭时销毁。

在全局作用域中,有一个全局对象window 代表着一个浏览器的窗口,由浏览器创建可以直接使用。

创建的变量都会作为window对象的属性保存。

在函数内部定义的变量称为局部变量。

var a = 1;//全局变量

function b(){

//局部变量
var a = 2;

}


//访问全局变量a
console.log(a);
console.log(window.a);


//因为函数b()也是存放在window上面,所以调用b函数也可以如下

b();
window.b();

当局部变量里面的var省略时候,系统默认看成全局变量

function b(){

//全局变量
 a = 2;

}

局部变量只能在函数开始到函数结束时候存在。

在函数外不能之间使用局部变量。会报错。

function b(){

var a = 1;
return a;
}

b();//1
alert(a);//报错

js重写

在js中,如果有两个函数的函数名相同,则js默认运行最后一个函数的代码,原因是最后一个js的代码把前面的同名函数覆盖掉。

function b(){
			
	var a = 1;
	return a;
}
			
function b(){
			
	var a = 2;
	return a;
}

alert(b());
//打印结果为2

数据类型

js有6大数据类型,分别是 Number,String,Boolean,undefined,null,objection

Number类型包括了,整数,小数,正数,负数,不是数字(NaN)无穷大(infinity)等。

Boolean类型只包括了true和flase两种判断结果


运算符--逻辑与或非

逻辑与 && 

两个值当中都为true的时候才为true,两个值当中只要有一个为flase返回flase。

js中的与属于短路与,如果第一个值就为flase的时候,则不会继续看第二个值是true还是flase

规则:

第一个值为true,则会检查第二个值

第一个值为flase,则不再检查第二个值

进行与运算时,会将其转换为布尔值,然后再运算,并且返回原值。

var result = 2 && 1;
console.log("result = " + result); //1

//与运算:当两个值都为true的时候,结果返回后边的

var result = 5 && 6;
console.log("result = " + result); //6

//与运算:如果两个值都为false 则返回靠前的flase

result = 0 && 2;       //0
result = 2 && 0;      //0
result = NaN && 0;   //NaN
result = 0 && NaN;  //0

如果第一个值为true,必然返回第二个值,

如果第一个值为flase,则直接返回第一个值。

逻辑或 ||

两个都是flase则返回flase,只要有一个为true则返回true。

规则:

第一个值为flase,则会检查第二个值

第一个值为true,则不再检查第二个值

var result = 1 || 3;   //1
var result = 1 || NaN;  //1
var result = 1 || 0;    //1
//如果第一个值为true,则直接返回第一个值

var result = NaN || 1;  //1
var result = NaN || 0;  //0
//如果第一个值为false,则直接返回第二个值


相等运算符

相等运算符用来两个值是否相等,如果全等返回true,否则返回false

使用==来做相等运算符

var a = 10;
console.log(a == 4);//false

var a = 1;
console.log(1 == 1);//true
console.log("1" == 1)//true
//当使用==来比较两个值时,当类型不同,会自动转换为相同的类型,然后再比较

console.log(true == "1")//true
//把布尔值和字符串都转换成number

console.log(null == 0)//false
//null没有转换成number

//undefin衍生自null,所以这两个值做比较的时候,会返回true
console.log(undefined == null) //true


//NaN 不和任何值相等。包括它本身
console.log(NaN == NaN) //false


//如果要判断某个NaN值是否是NaN的时候,不能直接与NaN比较
var b = NaN;
console.log(b == NaN) //结果总是返回false

//可以通过isNaN函数来判断是否为NaN
console.log(isNaN(b)) //true


不相等

用来判断两个值是否不想等

console.log("abcd" !="abcd");   //false

//也会对变量进行类型转换

console.log("1" != 1);   //false

===全等

用来判断两个值是否全等,和相等类似,但是它不会做自动的类型转换。则说明的就是,===全等不仅仅判断的是值,而且还是数据类型是否相等。

console.log("123" == 123) //false

console.log(null == undefined) //false

!== 不全等

用来判断两个值是否不全等,和不等类似,不同的是不会做类型判断,

如果两个值的类型不同,则返回true

console.log("1" !== 1) true

运算符的优先级

var result = 1 || 2 && 3 ;//1
//运算符之间也有优先级。&&优先级高于|| 
//不需要完全记忆,只要在遇到需要的时候再查便可

语句

语句是按照从上往下执行的,使用{}来分组

同一个{}里面的语句我们称之为一组语句,要么都执行,要么都不执行,这个整体叫做一个代码块。

{
alert("hello");
console.log("你好");
document.write("语句");
//这是一个代码块
}

代码块只具有分组的作用,没有其他的作用。代码块内部的内容,在外部是完全可见的。


prompt()函数

可以弹出一个提示框,该提示框中会带有一个文本框,用户可以在文本框中输入内容,该函数需要一个字符串作为参数,该字符串将会作为提示框的提示文字。

用户输入的内容,将作为函数的返回值返回。可以定义一个变量来接收。

var a = prompt("请输入要支付的金额");
alert(a);

prompt()函数输入的结果返回值是string类型,如果string之间与数字比较,则会直接转换成数字进行比较,如果是两个string类型进行比较,则需要将string类型转换成数字类型,否则不能比较。

var num1 = prompt();
var num2 = prompt();
var num3 = prompt();

//要对num1 num2 num3 三者进行比较,则需要先转换成数字型

//可以直接在prompt函数前面直接加+ 可以使输入的返回结果变成number类型

var num1 = +prompt();
var num2 = +prompt();
var num3 = +prompt();

break

break可以用来退出switch或者循环语句。但是不能退出if语句。

不能再if语句中使用break和continue

如果for里面嵌套if if里面使用break,break是可以起作用的,作用是对for循环退出。 

如果两个for嵌套,break语句在最里面的for循环里面,则该break语句只作用于最近的for循环语句。

解决办法:

label:循环语句

outer:
for(var i=0; i<5;i++){
    console.log("outer");
    for(var i=0; i<5;i++){
    console.log("inter");
    break outer;
    
    }
}
//使用break语句时,可以在break后跟着一个label,这样break将会结束指定的循环,而不是最近的

conntinue

continue关键字可以用来跳出本次循环,但是不影响下次的循环

同样continue也是默认只会对离他最近的循环起作用。


扩展:

math.sqrt()可以用这个对数进行开方

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值