javascript的基础
程序员文章站
2022-03-18 16:57:53
js的组成 ECMAScript:解释器(翻译) DOM:Document Object Model (操作HTML的能力) BOM:Browser(l浏览器) Object Model 变量类型 类型:typeof运算符 用法、返回值 常见类型:number、string、boolean、unde ......
js的组成
ecmascript:解释器(翻译)
dom:document object model (操作html的能力)
bom:browser(l浏览器) object model
变量类型
类型:typeof运算符
用法、返回值
常见类型:number、string、boolean、undefined、object、function
(一个变量应该只存在一种类型的数据)
a = 10 console.log(typeof a)//number 数字
b = "你好" console.log(typeof b)//string 字符串
c = true console.log(typeof c)//boolean: true false
d = function(){} console.log(typeof d)//function 函数
var f; console.log(typeof f) //f 1、没有定义 undefined 2、定义,没赋值 g = {} console.log(typeof g)//object 对象
数据类型转换:
显示类型转换(强制类型转换)
parseint()、parsefloat()
//parseint()将字符串转为整数
//parsefloat() 将字符串,并返回一个浮点数。
a = "12"
console.log(parseint(a) + 1)//13
console.log(parsefloat(a))//12
q = "1.2asd"
console.log(parseint(q))//1
console.log(parsefloat(q))//1.2
f = 12.3
console.log(parseint(f))//12
console.log(parsefloat(f))//12.3
b = "abc"
console.log(parseint(b))//nan
var c = parseint('abc')
var b = parseint('abc')
console.log(isnan(c))//true isnan判断c是不是nan
console.log(c == b)//false
//nan与nan不相等
隐式类型转换
==、===、减法
a = 5 b = "5" console.log(a == b)//true 先转换类型,然后比较 console.log(a === b)//false 不转换,直接比(严谨) c = "12" d = "5" console.log(c + d)//125 加号字符串的链接 数字的相加 console.log(c - d)//7 减号数字相减
变量作用域
全局变量、局部变量
局部变量:只能在定义他的函数里面使用
function a(){ //局部变量:只能在定义他的函数里面使用 var b = 12; console.log(b)//12 } function c(){ console.log(b)//报错 } a() c()
var b;//全局变量 function a() { b = 12; console.log(b)//12 } function c() { console.log(b)//12 } a() c()
闭包
//闭包:子函数可以使用父函数的局部变量 function aa(){//父函数 var a = 10; function bb(){//子函数 console.log(a)//10 } bb(); } aa();
运算符
算数:+加、-减、*乘、/除、%取余
赋值:=、+=、-=、*=、/=、%=
关系:<、>、<=、>=、=、==、===、!=、!==
逻辑:&&与、||或、!否(真假互换)
运算符优先级:括号
判断:if、switch、?:(三目运算符)
if (满足条件1) { //执行语句1 } else if (满足条件2) { //执行语句2 } else { //以上都不成立执行
//语句n } switch(变量) { case 值1: //变量=值1执行 //语句1 break; case 值2: //变量=值2执行 //语句2 break; case 值3: //变量=值3执行 //语句3 break; //...... default: //以上都不满足执行 //语句n }
var f = 1
switch(f)
{
case 1:
console.log(1)//1
break;
case 2:
console.log(2)
break;
default:
console.log(3)
}
var f = 4
switch(f)
{
case 1:
console.log(1)
break;
case 2:
console.log(2)
break;
default:
console.log(3)//3
}
条件?语句1:语句2(三目运算符)
//三目运算符 var a = 44; a%2 ? console.log("单数") : console.log("双数")//双数
循环:while、for
跳出:break、continue
for(var i = 0;i < 5;i++){ if(i == 3){ break;//整个循环中断跳出 } console.log(i)//0、1、2 }
continue
for(var i = 0;i < 5;i++){ if(i == 3){ continue;//本次循环中断,后面继续 } console.log(i)//0、1、2、4 }
真:true、非零数字、非空字符串、非空对象
假:false、数字零、空字符串、空对象、undefined
var a = true;//true、非零数字、非空字符串、非空对象
if(a){ console.log("真")//真 }else( console.log("假") )
var a = false;//false
if(a){
console.log("真")
}else(
console.log("假")//假
)
var a = "";//空字符串
if(a){
console.log("真")
}else(
console.log("假")//假
)
上一篇: 幸亏还未相亲