JS基础 第一章快速入门

JS

全称javaScript,然鹅它跟Java没有关系

脚本语言:进行本地表单验证
统一规则:JavaScript


组成

  1. ECMAScript:核心js es5 es6
  2. DOM:文档对象模型
    事件:事件监听
<button></button>
  1. BOM:浏览器对象模型(后期在js里用到的所有标签都可作为对象 万物皆对象)
    node环境下没法解析bom跟dom 因为linux里面没有浏览器
alert();//浏览器弹框

特点

1.脚本语言:本身具有逻辑能力和行为能力
2.解释性语言:需要js解析器解析执行
3.弱类型语言:

js:弱类型语言
var a=10;
	a="hello";

java:强类型语言
   int a=10;
   	a='hello';

4.从上到下依次执行(按照解析顺序)

优先解析函数的声明,再解析使用var操作符所声明的变量

代码顺序:

	say();		//先执行一个say方法
	run();		//又执行一个run方法
	function say(){}	//声明say
	var a=10;			//声明run
	console,log(a);
	var b;				//声明b但未赋值
	console.log(b);
	function run(){}	//声明run
	b=20;
	console.log(b);

解析顺序:

function say(){}
function run(){}
var a;   	//解析的过程中不进行变量的赋值
var b;		//只进行变量的声明
say();
run();
a=10;
console.log(a);
b=20;
console.log(b);

执行顺序按解析顺序执行

5.大小写敏感

var a=10;
console.log(A);

使用

  1. node js运行环境:谷歌浏览器内配置js解析器
  • repl

r:read 读取
e:evel 解析
l:loop 循环

  • 命令

ls->程序

  1. 浏览器

js嵌入到html中

  • 内联脚本
    通过一个script标签
    <script type="text/javascript></script>
  • 外部引入
    创建一个外部脚本文件
    即后缀名为.js的文件
    <script src='外部文件地址'></script>
    注意:外部引入脚本的script标签内部不能再写js代码,解析器会忽略

基础语法

1. 标识符/变量的声明

var a=10;//变量的声明和赋值自右向左

标识符规则:

  • 变量名字须有字母、数字、下划线以及$组成
  • 不能以数字开头
  • 不能使用关键字和保留字(在js中具体特殊意义的字符)
  • 建议使用驼峰式命名(aBc)

声明方式:

var:

var a;//声明变量但不赋值
a=10;//从内存中获取a变量并赋值为10;

var a=10;//声明a并赋值20;

a=30;//变量的声明并赋值

var a= 10,b=20,c=30;//同时声明多个变量

let:(es6)

1.let声明的变量只在局部作用域有效
2.不能使用let重复声明,不同作用域内方可重复声明
3.不会对let声明的变量进行解析提升

const:(es6)

1.使用const声明的变量只在局部作用域有效;
2.使用const声明常量,一旦声明不可修改;
3.当属性值为一个引用数据类型时,引用地址不变,内容可变

2.注释:

  • 单行注释 : // 后边的内容皆为注释内容
  • 多行注释:/* 多行注释内容*/

作用:让代码更具有可读性,便于维护和管理
嵌套:注释不能嵌套

3. 语句

每一个语句建议使用分号结尾


局部变量和全局变量

  • 作用域:变量可用的区域
  • 全局变量:js的全局作用域内都能使用的变量
  • 局部作用域: js函数内部
    只要声明在函数内部,并且使用了一个var操作符的变量即为局部变量;其他声明为全局变量

数据类型

typeof(a):测试a变量的数据类型
返回值:undefined object number boolean string function
返回值类型:string 
  • 5种基本数据类型(简单数据类型 存放在封闭栈区)

undefined:未定义类型(既未声明也未赋值的变量)

var a;//当前a的数据类型和值都为undefined;

var a=undefined;//a变量值为undefined,数据类型为undefined

console.log(a);//对既未声明也未赋值的变量报错

null:空引用数据类型(当前变量即将指向一个引用数据类型然鹅并未指向)

var a=null;//当前变量即将指向一个引用数据类型但此时并未指向

number:所有数值类型均为number类型

NaN:not a number
	var a="hello"/10;//NaN
isNaN(a);//测试a是不是不是一个数字,对于number类型返回false,非number类型返回ture

infinity:无穷大
	var a=10/0;

var a=10;//整数
var a=10.5;//浮点数
var a=0xa;//十六进制 a=10.
var a=010;//八进制 a为十进制的8

boolean

取值: ture/ false


string:所有使用了双引号或者单引号包裹的字符都为string类型

var a='undefined';//a的值为undefined,数据类型为字符串类型

json字符串:除了数值类型、null类型、undefined类型,属性名全部加上字符串


tips浏览器端对不同的数据类型显示颜色也不同,null、undefined类型为浅灰色,字符串类型为黑色,number为绿色,对象类型为蓝色


  • 1种引用数据类型(复杂数据类型 存放在开放堆区)
    object:function、array、math

创建方式:

var student={
	name:'lisi',
	age:20
}

var student=new Object()//一看到new就相当于在内存中新建了一块空间
	student.name='lisi';
	student.age=20;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值