欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

javascript的基础

程序员文章站 2022-06-18 23:38:32
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();

运算符

算数:+加、-减、*乘、/除、%取余

javascript的基础

 

 

 javascript的基础

赋值:=、+=、-=、*=、/=、%=

关系:<、>、<=、>=、=、==、===、!=、!==

逻辑:&&与、||或、!否(真假互换)

运算符优先级:括号

判断: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("双数")//双数

javascript的基础

 

 

循环:while、for

跳出:break、continue

for(var i = 0;i < 5;i++){
    if(i == 3){
        break;//整个循环中断跳出
    }
    console.log(i)//0、1、2
}

javascript的基础

 

 

 continue

for(var i = 0;i < 5;i++){
    if(i == 3){
        continue;//本次循环中断,后面继续
    }
    console.log(i)//0、1、2、4
}

javascript的基础

 

 

 

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