当前位置: 移动技术网 > IT编程>开发语言>JavaScript > javascript的基础

javascript的基础

2020年05月08日  | 移动技术网IT编程  | 我要评论

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("假")//假
)
 

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网