1.6 JavaScript基础

初识JavaScript

JavaScript是世界上最流行的语言之一,是一种运行在客户端的脚本语言(Script是脚本的意思)

  • 脚本语言:不需要编译,运行过程中由js解释器(js引擎)逐步解释并执行。
    最大的优势是可以直接执行在浏览器中,本地生成一个空的html文件,然后通过script标签引入js文件
    一些简单的语句,可以直接使用开发者工具的console面板
    console.log(“Hello World”);将值输出到控制台上
    在这里插入图片描述

document.body.innerHTML=“Hello World”;将网页body元素的内容替换成新的HTML

基本数据类型与类型转换

  • 字符串string:通过单引号或双引号定义

    console.log(“hello world”==‘hello world’);
    console.log(‘say"hello world"’);
    console.log(“say ‘hello world’”);
    console.log(‘say’hello world’');
    /单引号里可以加双引号
    双引号里可以加单引号
    单引号里加单引号要转义
    /
    在这里插入图片描述

  • 数字number:只有一种类型,浮点数

  • 布尔类型boolean:true或false

  • typeof操作符

    console.log(typeof 1,typeof(‘’),typeof false);

  • undefined与null

    console.log(undefined,typeof undefined);
    console.log(null,typeof null);

  • 自动类型转换

    console.log(1+“1”,null+“is not”+undefined);
    console.log(+‘1’,+(1+‘1’),+‘不是一个数字’);
    console.log(typeof NaN);
    在这里插入图片描述

  • +:强制转换
    双等号和三等号:推荐使用三等号,因为双等号(==)会进行强制类型转换

    console.log(1===“1”,1=true,0=false,null===undefined);//都是假的

falsy值;false0空字符串null undefined NaN
console.log(
1= =1.,
1= =“1”,
1= =true,
0= =false,
’ '= =false,
null= =undefined,
);//都是真的

if(false||0||''||undefined||null||NaN)//都是假的
{
    console.log('不应该走到这里!!!');
}
else{
    console.log('falsy 值')
}

不可以重复声明

let a=1+2;//变量声明语法
console.log(typeof a);//number
a="33";
console.log(typeof a);//string
let empty;
console.log(empty);//undefined
const不可修改

内部的变量可以屏蔽外部的变量

let num=100;
let str=".";
console.log('作用域1',num,str);
{
    let str="-";
    console.log('作用域2',num,str);
    {
        let num=200;
        num+=10;
        str+="-";
        console.log('作用域3',num,str);
    }
    num++;
    str+="-";
    console.log('作用域2',num,str);
}
console.log('作用域1',num,str);

函数

function add(a,b)
{
    return a+b;
}
console.log(typeof add);//function
console.log(add(1,2));//3
function voidFunc(a,b)
{
    console.log('voidFunc参数',a,b);
}//voidfunc 参数 1 2
console.log(voidFunc(1,2));//undefined

voidFunc();//undefined
voidFunc(1);//1 undefined
voidFunc(1,2,3);//1 2

参数无值默认为undefined
函数提升,函数定义可以写在调用的后面

const minius1=function minius2(a,b){
    return a-b;
};
const minius3=function(a,b){
    return a-b;
};
const minius4=(a,b)=>{
    return a-b;
}//箭头函数
const minius5=(a,b)=>a-b;//如果函数体只是一个表达式,可以把大括号和return省略掉

const returnSelf=x=>x;//只有一个参数,可以小括号省略掉
函数可以作为参数
function binaryOperator(operand1,operand2,func){
const res = func(operand1,operand2,func);
console.log(res);
return res;
}
binaryOperator(2,5,add);
binaryOperator(2,5,(a,b)=>a*b);
binaryOperator(2,5,(a,b)=>a/b);

const buildRepeatChar=char=>{
    return num=>{
        let res='';
        while(num--){
            res+=char;
        }
        return res;
    }
}//生成函数的函数

const repeatDot=buildRepeatChar('.');
console.log(repeatDot(4)+'点');
console.log(buildRepeatChar(' ')(4)+'空格');

const buildRepeatCharWithLog=char=>{
    let count=0;
    return num=>{
        count++;
        console.log(''+count+''+char)
        let res=' ';
        while(num--){
            res+=char;
        }
        return res;
    }
}

const repeatBar=buildRepeatCharWith('-')//第1次调用,重复字符为-
const repeatExclamatory=buildRepeatCharWithLog('!')//
console.log(repeatBar(4));//----
console.log(repeatExclamatory(4));//!!!!
repeatBar(4);
repeatExclamatory(4);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值