【前端】JavaScript 基础语法

JavaScript 是一门编程语言,主要运行在浏览器上

HTML, CSS, JavaScript 这三门前端语言的关系如同

  • HTML 骨架 网页结构
  • CSS 皮囊 网页样式
  • JavaScript 灵魂 网页行为

她们相互配合才能构建出一个成熟完整的前端网页页面

Hello World

<script>
    alert("Hello World");
</script>
  • JavaScript 代码需要写在 script 标签中
  • alert()  弹出窗口函数
  • "Hello World" 作为 alert() 函数的参数

书写方式

行内式

直接嵌入标签中

<input type="button" value="点我一下" onclick="alert('Hello World')">

内嵌式

写到 script 标签中

<script>
    alert("Hello World");
</script>

外部式

写到单独的 .js 文件中

在 HTML 中使用 script 标签进行引用

<script src="hello.js"><script>
alert("Hello World");

console.log

打印一条日志到控制台

// 向控制台输出日志
console.log("这是一条日志");
  • console 是一个对象表示控制台
  • . 是访问或调用的意思
  • log 是一个方法表示打印日志

基础语法 

注释

// 我是单行注释
/*
    我是多行注释
    我是多行注释
    我是多行注释
*/

变量

var

var name = 'zhangsan';
var age = 20;

let

let name = 'zhangsan';
let age = 20;

var 和 let 都可以用来申明变量,区别不大都可以使用

数据类型

  • number:数字  不区分整数和小数
  • boolean:true 真    false 假
  • string:字符串类型
  • undefined: 表示未定义的值
  • null:表示空值

特殊数字表示

  • Infinity:无穷大
  • -Infinity:负无穷大
  • NaN:表示不是数字
// 将 max 赋值为 JavaScript 的最大值
let max = Number.MAX_VALUE;

// 得到 Infinity
console.log(max + 1;

// 得到 -Infinity
console.log(-max - 1);

// 得到 NaN
console.log('hello' - 10);

字符串规则

单引号 

let string = 'hello world';

双引号

let string = "hello world";

嵌套

// 错误用法
var msg = "My name is "zhangsan""; 

// 搭配使用单双引号
var msg = "My name is 'zhangsan'"; 

// 搭配使用单双引号
var msg = 'My name is "zhangsan"'; 

// 使用转义字符
// \" 表示字符串内部的引号
var msg = "My name is \"zhangsan\"";  

转义字符

  • \n  换行符
  • \\   反斜杠
  • \'   单引号
  • \"   双引号
  • \t   制表符

长度

let string = 'hello world';
let length = string.length;

拼接

let a = "my name is ";
let b = "zhangsan";
let c = a + b;
let a = "my score is ";
let b = 100;
elt c = a + b;
let a = 100 + 100; // 200
let b = '100' + 100; // 100100

boolean 布尔类型

  • true == 1    真
  • false == 0    假

undefined 未定义类型

let a;

只声明,不赋值,即未定义

console.log(a);

输出结果为 undefined

console.log(a + " " + "10");

输出结果为 undefined 10

console.log(a + 10);

输出结果为 NAN 不是一个数字

null 空类型

  • null 和 undefined 都表示取值非法的情况
  • null 表示当前的值为空  (相当于有一个空的盒子)
  • undefined 表示当前的变量未定义  (相当于连盒子都没有)

运算符 

算术运算符

  • +
  • -
  • *
  • /
  • %

赋值运算符

  • =
  • +=
  • -=
  • *=
  • /=
  • %=

自增自减运算符

  • ++  自增1
  • --    自减1

比较运算符

  • <
  • >
  • <=
  • >=
  • == 比较相等(会进行隐式类型转换)
  • !=
  • === 比较相等(不会进行隐式类型转换)
  • !==

逻辑运算符

  • &&  与  一假则假
  • ||  或  一真则真
  • !  非

位运算符

  • & 按位与
  • | 按位或
  • ~ 按位取反
  • ^ 按位异或

移位运算符

  • << 左移
  • >> 有符号右移(算术右移)
  • >>> 无符号右移(逻辑右移)

条件语句

if 语句

if (条件) {

    语句

}
if (条件) {

    语句

} else {

    语句

}
if (条件) {

    语句

} else if (条件) {

    语句

} else if (条件) {

    语句

} else {

    语句

}

三元表达式

条件 ? 表达式 : 表达式 ;
  • 条件为 true  执行第一个表达式
  • 条件为 false  执行第二个表达式

switch 语句

多分支情况下使用

switch (表达式) {

    case 值:

        语句
        break;

    case 值:

        语句
        break;

    default:

        语句

}

循环语句

while 循环

while (条件) {

    循环体

}

执行过程

  • 先判断条件真假
  • 条件为 true  执行循环
  • 条件为 false  结束循环

for 循环

for (表达式; 表达式; 表达式) {

    循环体

}
  • 表达式1  初始化循环变量.
  • 表达式2  循环条件
  • 表达式3  更新循环变量

执行过程:

  • 执行表达式1  初始化循环变量
  • 执行表达式2  判定循环条件
  • 条件为 true    执行循环
  • 条件为 false   结束循环
  • 执行表达式3  更新循环变量

continue

结束本次循环

break

退出整个循环

数组

创建

let arr = new Array();
let arr = [];
let arr = [1, 2, 'hello', false];

获取

使用下标的方式访问数组元素(从 0 开始)

添加

  • 通过修改 length 新增
  • 通过下标新增
  • 使用 push 进行追加元素

splice

使用 splice 方法可以添加删除替换元素

splice 有三个参数(前两个必填)

  • 参数1  表示从哪个下标开始
  • 参数2  表示要删除或替换的长度
  • 参数3  表示想要添加或替换的内容

函数

function 函数名(形参列表) {

    函数体
    return 返回值;

}

作用域

  • 全局作用域  在整个 script 标签中  或者单独的 js 文件中生效
  • 局部作用域/函数作用域  在函数内部生效

对象

一个具体的事物

在 JS 中  字符串 数值 数组 函数 都是对象

对象可以有属性和方法

  • 属性  事物的特征
  • 方法  事物的行为

使用 { } 创建对象

// 创建一个空对象
let 对象名 = {}; 
let student = {

    // 属性
    name: 名字,
    height: 身高,
    weight: 体重,

    // 方法
    study: function() {

        console.log("学习");

    }

};
  • 使用 { } 创建对象
  • 属性和方法使用键值对的形式来组织
  • 键值对之间使用 , 分割
  • 键和值之间使用 : 分割
  • 方法的值是一个匿名函数

使用对象的属性和方法

// 使用 . 
// 成员访问运算符来访问属性 `.` 
// 可以理解成 "的"
console.log(student.name);
// 使用 [ ] 访问属性
// 此时属性需要加上引号
console.log(student['height']);
// 调用方法
// 别忘记加上 ()
student.study();

使用 new Object 创建对象

let student = new Object();

student.name = 名字;
student.height = 身高;
student['weight'] = 体重;

student.study= function () {

    console.log("学习");

}

使用 构造函数 创建对象

function 构造函数名(形参) {

    this.属性 = 值;
    this.方法 = function...

}

let obj = new 构造函数名(实参);
  • 在构造函数内部使用 this 关键字来表示当前正在构建的对象
  • 构造函数的函数名首字母一般是大写的
  • 构造函数的函数名可以是名词
  • 构造函数不需要 return
  • 创建对象的时候必须使用 new 关键字
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值