JavaScript基础语法

一.JavaScript注释写法

1)单行注释

快捷键CTRL+/

2)多行注释

alt+shift+a

二.JavaScript结束符

结束符定义:在语句的末尾加上';'表示语句的结束,在css中必须写语句结束符,但在JavaScript中可以写也可以不写,甚至混着写也没有问题,现在主流趋势是不写,在团队的分工合作中可以统一规定写或者不写。

三.JavaScript输入输出语法

1) 文档输出内容

①document.write('要输出的内容');

注意:在document.write();中可以加标签,其效果也会被浏览器渲染。

②alert('要输出的内容')

弹出警示框包含输出内容

③console.log('要输出的内容')

只在控制台可见,用于程序员调试程序。

快捷写法:直接写log然后向下箭头取第二个然后回车。

2)文档输入内容

prompt('提示信息');

弹出对话框,提示用户输入信息。

JavaScript代码执行顺序:

1.按HTML文档流顺序执行JavaScript代码

2.alert()和prompt()会跳过页面渲染先被执行。

四.字面量

1.数字字面量:10086

2.字符串字面量:'string'

3.数组字面量[]

4.对象字面量:{}

五.变量

1.变量的定义:用于存储数据的容器。

2.变量的声明与赋值:

声明:

let+变量名

赋值:

使用操作符'='

3.变量的本质:

程序在内存中申请一块用来存放数据的空间

var声明的不合理性:
1可以先使用,再声明(不合理)

2.var 声明过的变量可以重复声明(不合理)

3.比如变量提升、全局变量、没有块级作用域等等

六.数组的基本使用

1.数组的定义:

是一种按照顺序保存数据的数据类型。

2.数组声明与赋值:

let arr = [数据0,数据1,数据2,....,数据n](常用)

或let arr = new Array(数据0,数据1,数据2,....,数据n)

arr是变量名

[]是数组字面量

3.取值语法:

数组名[下标]

4.数组长度:

arr.length(写法)

5.操作数组:

 arr.push(元素)将一个或多个元素添加到数组的末尾,并返回该数组的新长度(重点)

arr.unshift(元素)将一个或多个元素添加到数组的开头,并返回该数组的新长度

arr.pop()从数组中删除最后一个元素,并返回该元素的值

arr.shift()从数组中删除第一个元素,并返回该元素的值

arr.splice(开始删除的下标,删除的个数)从数组中删除指定元素

七.常量

声明:

const+常量名 = 常值

*常量声明时必须初始化!

八.数据类型和算术运算符

1.Number数字类型

包括所有数字(整数,小数,正数,负数......)

*js是弱数据类型语言,只有当我们赋值了,才知道是什么语言。

2.算数运算符

+、-、*、/、%

'NaN'表示计算错误

3.string字符串类型

字符串使用单引号或双引号或反引号进行包裹

*字符串的拼接:

1).两个带引号的字符串使用+号可以连起来。

2).可以使用+号将字符串与任意数据类型进行拼接。

4.模板字符串

外面用反引号包含,内部变量使用${}包含即可。

5.boolean布尔数据类型

true与false是布尔型字面量

逻辑中断:

①数据1&&数据2:

一假则假,都是真则返回最后一个真值

②数据1| |数据2:

一真则真,都真则返回第一个真值

6.转换为布尔型(显式转换):

``,0,NaN,false,null,undefined都为假,其他都为真

7.转换为布尔型(隐式转换):

数字+字符串 = 将数字转换为字符串后拼接

数字-字符串=将字符串转换为数字后相加减

null计算转换为0

undefined计算转换为NaN

null = = undefined

null != = undefined

8.undifined未定义类型

只定义未赋值的数据类型默认是未定义类型,一般很少直接定义未定义的数据类型

9.null空数据类型

注意:undefined数据类型表示没有赋值

           null数据类型表示赋值为空,把null看作未创建的对象,即null实际上是对象数据类型

10.如何检测数据类型

通过typeof关键字检测数据类型

九.隐式转换和显示转换

1.为什么要使用转换?

通过表单接收的数据默认为字符串数据类型,影响对这些数据进行操作(计算)

2.隐式转换

+ 号两边只要有一个是字符串,都会把另外一个转成字符串

除了+以外的算术运算符 比如- */等都会把数据转成数字类型

+号作为正号解析可以转换成数字型

任何数据和字符串相加结果都是字符串

隐式转换不明确,靠经验才能总结!!!

3.显示转换

编写程序时过度依靠系统内部的隐式转换是不严禁的,因为隐式转换规律并不清晰,大多是靠经

验总结的规律为了避免因隐式转换带来的问题,通常根逻辑需要对数据进行显示转换。

即告诉系统转换成什么数据类型

parseInt只保留整数

parseFloat保留小数

十.渲染表格案例

用户输入单价、数量、收货地址,通过HTML、CSS制作表格,js变量、模板字符串等知识实现交互效果。

十一.运算符

1.赋值运算符:

对变量进行赋值的运算符

=、+=、*=、-=、/=(与C或C++的规则一样)

2.一元运算符:

+-(正负号而非加减号)、自增++、自减-- (与C或C++的规则一样)

3.比较运算符:

>,<,>=,<=,==,===(左右两边是否类型和值都相等),!==

=是赋值

==是判断(2=='2' true,因为比较运算符有隐式转换)

===是严格判断(常用)(相当于C或C++中的==)

!==不全等(相当于C或C++中的!=)

 NaN不等于任何人,包括它自己!

字符串比较Ascll码

比较运算符返回结果为true or false

4.逻辑运算符:

&&且,||或,!非 (与C或C++的规则一样)

5.运算符优先级:

   十二.语句

1.表达式和语句

表达式是可以被求值的代码,语句是可以被执行的代码。

表达式可以被求值,而语句不一定有值。

2.分支语句

1)if分支语句

*除了0,所有的数字都为真。

*除了空字符串,所有字符串都为真。

2)双分支语句

if ( ) {

} else {

}

3)多分支if语句

if ( ) {

} else if {

} else if {

} else {

}

4)三元运算符

三元运算符是比if双分支更简单的写法,可以使用三元表达式,一般用来取值。

语法:

3.switch语句

找到跟小括号里数据全等的case值,并执行里面对应的代码

若没有全等===的则执行default里的代码

十三.循环结构

1.while循环

(与C或C++的规则一样)

2.for循环

(与C或C++的规则一样)

3.退出循环:

continue:退出本次循环,一般用于排除或者跳过某一个选项的时候,可以用continue

break:退出整个for循环,一般用于结果已经得到,后续的循环不需要的时候可以使用

4.无限循环:

while(true)或for(;;)都是无限循环,使用break退出循环。

5.使用建议:

当循环次数确定的时候推荐使用for循环(如数组循环),循环次数不确定,使用while循环,当条件满足时,使用break退出循环。

6.for循环嵌套循环

(与C或C++的规则一样)

注意:js打印换行时,<br>要处于反引号或单引号里面:`<br>`或'<br>'

十四.函数

1.函数的声明:

function 函数名(参数列表,多个数据用逗号隔开)

{ 函数体 }

 函数语法规则与C或C++基本一致,但js更为包容。

 参数的默认值:在调用含参函数时,可以给形参默认值,这样程序更严谨。

2.匿名函数:

没有名字的函数,无法直接使用

使用方法:

①.函数表达式:

将匿名函数赋值给一个变量,并且通过变量名称进行调用,我们将这个称为函数表达式,语法:

let fn = function(形参){函数体}

注意:具名函数的调用可以在任何位置,但使用函数表达式时,必须先声明表达式后调用

②.立即执行函数:

避免重名相互影响问题,语法:

(function(形参) {函数体})(实参);

或(function(形参) {函数体}(实参));

注意:多个立即执行函数之间用分号';'隔开。

转换时间算法:

十五.对象

1.对象的概念:

JavaScript里的一种数据类型,可以理解为一种无序的数据集合。(类似C++中的对象概念,但语法不同)

2.对象的声明语法:

①.let 对象名 = { }(常用)

②.let 对象名 = new Object()(了解)

3.对象由属性(信息或特征)和方法(功能或行为)组成:

属性都是成对出现,包括属性名和值,它们之间使用英文 : 分隔

多个属性之间使用英文 , 分割

属性就是依附在对象上的变量

4.对象的使用(增删改查):

注意:

查的两种方式:

(1)对象名.属性名

(2)对象名['属性名']

5.对象的方法

let obj = {

song(方法名):function(参数){函数体}

}

对象方法的使用:

song(方法名)

6.for in 遍历对象

for(let k in obj)

{

console.log(obj[k])//k为属性名,其数据类型是字符串

}

7.内置对象

JavaScript内部提供的对象,包含各种属性和方法供开发者使用。

(1)内置数学对象

Math.ceil()向上取整

Math.floor()向下取整

(类似取整函数parseInt()但是parseInt功能更厉害)

Math.round()四舍五入

Math.ceil()向上取整

Math.max()取最大值

Math.abs()取绝对值

(2)生成任意范围随机数

原理:Math.random()随机数函数,返回一个0-1之间,且包括0不包括1的随机小数[0,1)

生成0~n随机数:

Math.floor(Math.random()*(n+1))

生成n~m间的随机数:

Math.random()*(m-n+1)+n

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值