JavaScript--核心语法基础

JavaScript--核心语法基础

  • 1.编程语言
  • 2.js历史
  • 3.js的作用
  • 4.JS组成部分
  • 5.JS的使用
    • 5.1 引入方式
    • 5.2 script位置
    • 5.3 语法规则
    • 5.4
  • 6.变量(重点)
    • 6.1什么是变量?
    • 6.2创建变量
    • 6.3变量命名规则
  • 7、 数据类型(重难点)
    • 7.1 分类
    • 7.2 基本数据类型
    • 7.3引用数据类型 --对象 (object)
    • 7.4 数据类型的检测
  • 8.数据类型的转换
    • 8.1隐式转换
    • 8.2 强制转换
  • 9.运算符
    • 9.1
    • 9.2 拼接符
    • 9.3赋值运算
    • 9.4关系运算符
    • 9.5逻辑运算符 只要两个结果 true false
    • 9.6 优先级
    • 9.7 三元运算符

1.编程语言

目的:人与计算机的交流
c
C++
C#
Java
Go
python
JS (脚本编程语言、基于浏览器的环境)

2.js历史

网页表单数据提交—无所不能

3.js的作用

表单处理
对HTML、CSS 增·删·改·查
检测平台
TV 界面
移动端App
js跨平台(性能差一点)
pc 客户端
***所有的可视化界面
后端(Node.js)

4.JS组成部分

核心语法 ECMAScript :基础语法、变量、数据类型、函数、逻辑处理(案例训练)
ES5 ES6、7、8 (ES NEXT)
DOM 文档对象模型:通过 ECMAScript 修改HYML和CSS
BOM 浏览器对象模型:获取浏览器信息、操作网页的历史记录、URL 处理

5.JS的使用

5.1 引入方式

直接在标签当中执行相应的事件属性


在a标签中href

默认超链接

在HTML内嵌


外面创建一个.js的文件(推荐使用)


浏览器控制台操作(一般用于做调试的) Console

5.2 script位置

head 结束之前

body 结束之前

html渲染过程
网页渲染之后 用户点击交互触发

重绘 和 回流(可百度查看详解介绍)

5.3 语法规则

区分大小写 (A与a不一样);
命名规则(小驼峰:backgroundColor)
每条语句以 ; 结尾

5.4

alear(’ ‘):弹窗
prompt(’ '):输入框
document.write():内容直接写入网页
console.log();控制台调试

6.变量(重点)

6.1什么是变量?

变化的量,在内存中开辟一个存储空间对数据进行保存。

6.2创建变量

变量声明
1.var 2.let 3.const
通过var 关键字声明变量
var 变量名;
var 变量名 = 变量值;

注意:变量没有类型限制,可以随时赋予任意的一个值。

6.3变量命名规则

  • 变量 由字母、数字和符号(只能是 _ 或者 $)组成;
  • 首字符不能是数字。一般建议字母开头;
  • 区分大小写;
  • 小驼峰命名(首小二大)
  • 不可使用关键字和保留字

7、 数据类型(重难点)

7.1 分类

基本数据类型
引用数数据类型

7.2 基本数据类型

字符串类型 string
var str = ‘abc’ 单双引号都可以

数值类型:number
var num = 123456 //由阿拉伯数字组成,不需要引号

十进制:常用
八进制:以0开头数字
十六进制:以0x开头,如oxF
二进制:由0与1组成的数字

浮点数精度 浮点数就是小数:
一般二进制浮点数不能精确的表示小数的类型

布尔值类型:boolean
只有两个值true和false

未定义:undefined
表示缺少值。(给了变量没给值)

空:null
代表没有对象。 可以用于销毁问题 置空

7.3引用数据类型 --对象 (object)

理解:
需求:需要描述一个学生,包含姓名、年龄、班级信息、性别
//应该怎么做
var student1 ={
name: 'jack ',
age: 18,
grade:‘大一’,
sex:‘男’
}

对象结构:
var 变量名 = {
属性名字:属性值,(属性值可以是任意数据类型()undefined和null没有意义)
属性名字:属性值,
属性名字:属性值,

}

7.4 数据类型的检测

typeof 变量值;
不同的数据类型通过typeof检测出他是什么类型的
var str = hello’;
var num= O;
var bool = true;
var u;
var n = null;
var obj ={
name: ‘jack’}

console.log('typeof str: ', typeof str);// string
console.log('typeof num: ', typeof num);// number
console.log('typeof bool: ', typeof bool); // boolean
console.log('typeof u: ',typeof u); // undefined
console.log( 'typeof n: ',typeof n);// object
console.log('typeof obj: ', typeof obj);// object

注意Null和Object都会返回object

原因:不管写什么代码 在底层都会用二进制表示,在JS中二进制前三位都为0,的话就会判断为object类型,Null的二进制表示全都是0;

8.数据类型的转换

8.1隐式转换

var n1 = true;;
var n2 = ‘true’;
sonsole.log(n1==n2);

8.2 强制转换

主要是三个函数的转换,Number()、String()、Boolean()三个函数的使用.
布尔值的转换:
Boolean(变量名);非空字符串都为true

字符串转化:string(变量)
console.log(String(str));
console.log(String(num));//‘123’
console.log(String(bool));//‘true’
console.log(String(obj)); //’[object object]'固定返回

变量toString():不可以转换Null和Undefined
console.log(typeof num.tostring());

转数值:
Number(变量)
如果是数值类型、会保留小数点;
如果是字符串转为NaN;
布尔值 true为1 false为0
对象是 NaN
NaN (not a number)不是数值,NaN与 NaN不相等

paeseInt()转换为整数 不会四舍五入
如果是字符串从左往右一个一个解析,遇见非数字停止解析。

parseFloat()
保留小数点
如果是字符串从左往右一个一个解析,遇见非数字停止解析。

9.运算符

9.1

+
-
*
/
% 取余,求余数

同时声明多个变量
var n1 = 2, n2=3;
++ 的理解
*在没有赋值操作的时候 ++在变量前面和放在变量后面是一样的;
*如果++放在变量前,先进行运算变量+1,然后再执行当前这一行代码。
*如果++放在了变量后面,则是先执行当前代码,完成之后对变量+1;

9.2 拼接符

  • 不同于其他的几个符号:
    *运算中只有有一方是字符串,就会把另一方也转化为字符串,然后连接在一起;
    但是-、、/只要一方是数字另一方就会转换为数字;
    1 + ‘1’ == ‘11’
    true + true == 2;
    4 * "3’=12;
    空对象为NaN

9.3赋值运算

= += -+ *= /=

n = n + 1 简写 n += 1

9.4关系运算符

== 只判断值 不判断类型
=== 全等 值和类型都一样
!= 不相等
!== 完全不相等
>
<
>=
<=

9.5逻辑运算符 只要两个结果 true false

&& 与 同时
|| 或 二选一
! 非 相反

9.6 优先级

*逻辑 非 优先级最高;
*算数运算符;
*然后是关系运算符
*然后逻辑 与 或
*最后赋值

通过加()可以调整优先级。

9.7 三元运算符

语法:

条件?条件true执行表达式 : 条件false执行的表达式;

简单来讲就是二选一
例子:
var yuwen = prompt(‘请输入语文’),
shxuue = prompt(‘请输入数学’);
yuwen == 100 && shxuue == 100? alert(‘游乐园’):alert(‘在家做作业’);

你可能感兴趣的:(js,javascript,html,前端)