JavaScript学习01-初识JavaScript

初识JavaScript

JavaScript是什么

一种运行在客户端的脚本语言
脚本语言:不需要编译,运行过程中由js解释器逐行解释执行
现在可以基于Node.js技术进行服务器编程

JavaScript的作用

表单动态校验
网页特效
Node.js服务端开发
Electron桌面程序
Cordova APP
控制硬件–物联网Ruff
游戏开发

HTML/CSS/JS的关系

HTML/CSS是标记语言–描述语言
JS是脚本语言–编程类语言

浏览器如何执行JS

浏览器分有渲染引擎和JS引擎
渲染引擎解析HTML和CSS,俗称内核
JS引擎读取网页的JavaScript代码,对其逐行处理执行,称为JS解释器

JS的组成
ECMAScript JavaScript语法

ECMAScript是由ECMA国际进行标准化的一门编程语言,分为JavaScript和JsScript
ECMAScript规定了JS的编程语法和基础核心知识,所有浏览器产商都遵循的一套标准

DOM 页面文档对象模型

W3C组织推荐的处理可扩展标记语言的标准编程接口
通过DOM提供的接口可以对页面的各种元素进行大小、位置、颜色等操作

BOM 浏览器对象模型

提供了独立于内容,可以与浏览器窗口进行互动的对象结构
通过BOM可以操作浏览器窗口,比如弹出框、浏览器跳转、获取分辨率等

JS的3种书写位置
行内式
<input type="text" value="确定" onclick="alert('hello')" />

单行代码写在HTML事件属性(以on开头的属性)中
推荐HTML使用双引号,JS使用单引号
可读性差

内嵌式

写在head标签里的script标签内

<head>
	<title></title>
	<style></style>
	<script>
		alert('hello');
	</script>
</head>
外部文件

写在外部js文件内,在html文件内引用js文件

//test.js文件
alert('hello');

//my.html文件
<head>
	<title></title>
	<style></style>
	<script src="test.js"></script>
</head>
JavaScript输入输出语句
alert(msg)  //弹出警示框
console.log(msg)   //浏览器控制台打印
prompt(msg)   //浏览器弹出输入框(一个输入)
<script>
	alrt('这是提示信息');
	prompt('输入点什么吧');
	console.log('这条信息会输出在浏览器控制台');
</script>

变量

用于存储数据的容器,通过变量名获取数据
变量是程序在内存中申请的一块用来存放数据的空间

变量的使用

声明变量 var 关键字 申请内存空间

var 变量名;

给变量赋值 变量的初始化

var age;
age=18;
//或
var age=18;

使用变量

var age=18;
alert(age);
alert('年龄为:'+age);

更新变量 以最后一次赋值为准

var age=18;
alert(age);  //18
age=20;
alert(age);  //20

同时声明多个变量 以逗号隔开

var age=11,name='小明',address='中国';
变量声明的特殊情况

只声明不赋值

var age;
console.log(age);  //打印undefined

不声明不赋值

console.log(age);  //报错

不声明只赋值

age=11;
console.log(age);  //11
变量命名规范

可由字母、数字、下划线、美元符号$组成
区分大小写
不能以数字开头
不能是关键字、保留字
驼峰命名法,首字母小写,后单词首字母大写

数据类型

JavaScript是一种弱类型语言(动态语言),不用提前声明变量的类型,程序运行过程中根据赋值会被自动确定

var age=10;  //数字
var name='小明';  //字符串

相同的变量可以有不同的类型

var age=10;  //age为数字
var age='18岁';  //age为字符串
数据类型分类

简单数据类型 Number, String, Boolean, Undefined, Null
复杂数据类型 object

Number 数字型

包括整型和浮点型,默认值0

//进制  二进制、八进制、十进制、十六进制
//八进制前面加0,十六进制前面加0x
//八进制数字范围0~7
var num1=07; 
//十六进制数字范围0~9,A~F
var num2=0xA;
//数字范围
Number.MAX_VALUE  
Number.MIN_VALUE
//特殊值
alert(Infinity);  //无穷大
alert(-Infinity);  //无穷小
alert(NaN);  //NaN 非数字
//方法 isNaN()判断变量是否为非数字类型,返回true或false
var x=18;
console.log(isNaN(x));  //false
var x='xxxx';
console.log(isNaN(x));  //true
String 字符串型

用配对的双引号或者单引号表示的,默认""

//引号嵌套
var str1='嵌套"字符"串';  //外单内双
var str2="嵌套'字符'串";  //外双内单

字符串转义符

转义符解释
\n换行
\ \斜杠
\ ’单引号
\ "双引号
\ttab缩进
\b空格
var str='字符串\n转义符';
//输出
//字符串
//转义符
//字符串长度
var str='这是一个字符串';
alert(str.length);   //7
//字符串拼接  使用加号连接字符串
alert('字符串1'+'字符串2');

任何类型与字符串拼接结果都是字符串

Boolean 布尔型

true、false 默认false

//true值为1,false值为0
console.log(true+1);  //2
console.log(false+1);  //1
Undefined

声明了未赋值,默认值undefined

var x;
console.log(x);  //undefined
console.log('hello'+x);  //helloundefined
console.log(1+x);  //NaN
console.log(true+x);  //NaN
Null

声明了赋值为null,默认值null

var x=null;
console.log(x);  //null
console.log('hello'+x);  //hellonull
console.log(1+x);  //1
console.log(true+x);  //1
获取数据类型
console.log(typeof 变量名);
var x=null;
console.log(typeof x);   //打印object
字面量

固定值的表示方法
数字字面量:8,9,120…
字符串字面量:‘字符串1’,‘字符串啦啦啦’…
布尔字面量:true,false

数据类型转换

转为字符串类型

var num=10;

//1  .toString()
alert(num.toString());

//2  String()
alert(String(num));

//3  隐式转换 +
alert('字符串:'+num);

转为数字型


//1 转为整型
alert(parseInt('3.14'));   //3
alert(parseInt('12个苹果'));  //12

//2 转为浮点型
alert(parseFloat('3.14'));   //3.14
alert(parseFloat('12个苹果'));  //12

//3 转为数字型
alert(Number('3.14'));   //3.14

//4  隐式转换 使用 - * /
alert('12'-1);  //11
alert('12'*1);  //12
alert('12'/1);  //12

转为布尔型
代表空、否定的值会转换为false
其他的全部为true

//false
console.log(Boolean(''));  
console.log(Boolean(0));
console.log(Boolean(NaN));
console.log(Boolean(null));
console.log(Boolean(undefined));

//true
console.log(Boolean('小明'));
console.log(Boolean(12));

解释型语言和编译型语言

翻译器翻译的方式:编译和解释
编译器:在代码执行前编译,生成中间代码文件(把所有菜做好才能吃)
解释器:在运行时解释,并立即执行 (吃火锅一样边涮边吃)

标识符、关键字、保留字

标识符

为变量、属性、函数、参数取的名字,不能是关键字和保留字

关键字

JS已经使用了的,不能作为变量名和方法名
break , case , catch , continue , default , do , if , else , finally , for , function , in , instanceof , new , return , switch , this , throw , try , typeof , var , void , while , with…

保留字

预留的关键字,未来可能成为关键字
boolean , byte , char , class , const , debugger , double , enum , extends , final , float , goto , implements , import , int , long , native , package , private , protected , public , short , static , super , synchronized , throws , transient , volatile…

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值