目录
数据存储单位
JS初体验
JavaScript是什么
JavaScript的作用
浏览器执行JS简介
JS的组成
ECMAScript
DOM---文档对象模型
BOM---浏览器对象模型
JS书写位置
行内式 JS
内嵌 JS
外部 JS文件
JavaScript 输入输出语句
变量
变量的概述
变量的使用
1.声明变量
2. 赋值
3. 变量的初始化
案例-变量的使用
变量的语法拓展
更新变量
同时声明多个变量
声明变量的特殊情况
变量命名规范
案例-交换两个变量的值
数据类型
变量的数据类型
数据类型的分类
简单数据类型(基本数据类型)
数字型Number
字符串型String
案例:显示年龄
布尔型Boolean
Undefined 和 Null
获取变量数据类型
获取检测变量的数据类型
字面量
数据类型转换
转换为字符串string
转换为数字型number
案例1:计算年龄
案例 2:简单加法器
转换为布尔型Boolean
JavaScript是一种运行在客户端的脚本语言(script是脚本的意思)
脚本语言:不需要编译,运行过程中由js解释器(js引擎)逐行来进行解释并执行
现在也可基于node.js技术进行服务器端编程
表单动态检验(密码强度检测) JS产生最初的目的
网页特效
服务端开发(Node.js)
桌面程序(electron)
APP(Cordova)
控制硬件-物联网(ruff)
游戏开发(cocos2d-js)
浏览器分为两部分 渲染引擎 和 JS引擎
浏览器本身并不会执行JS代码,而是通过内置JavaScript引擎(解释器)来执行JS代码。
JS引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以JavaScript语言归为脚本语言,会逐行解释执行。
JavaScript组成:ECMAScript(JavaScript语法)
DOM(页面文档对象模型)
BOM(浏览器对象模型)
ECMAScript:ECMAScript规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。
文档对象模型(Document Object Model)是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过DOM提供的接口可以对页面上的各种元素进行操作(大小,位置,颜色等)。
BOM(Browser Object Model)是指浏览器对象模型,它提供了独立于内容的,可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框,控制浏览器跳转,获取分辨率等。
prompt('请输入您的年龄');
alert('计算的结果是:');
console.log('我是程序员能看到的');
变量是用于存放数据的容器。 我们通过 变量名 获取数据,甚至数据可以修改。
// 1.声明了一个 age 变量
var age;
// 2.赋值 把值存入变量中
age = 21; //是赋值的意思 不是等于
声明一个变量并且给它赋值 就是变量的初始化
// 4.变量的初始化
var myname = '美女';
console.log(myname);
一个变量被重新赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准。
// 1.更新变量
var myname = '美女';
console.log(myname);
myname = '就是我';
console.log(myname);
最后的结果 “美女” 覆盖掉了
同时声明多个变量时,只需要写一个 var, 多个变量名之间使用英文逗号隔开。
// 2.声明多个变量
var myname = '姓名',
age = 18,
address = '你猜';
只声明,不赋值 undefined未定义的
var sex;
console.log(sex);
不声明 不赋值直接使用 报错
console.lo(tel);
不声明 直接赋值使用 正常输出 但不建议
//3.3 不声明 直接赋值使用
qq = 1120;
console.log(qq);
要求:交换两个变量的值 ( 实现思路:使用一个 临时变量 用来做中间存储 )
在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。
JavaScript 是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定
js的数据类型只有在程序运行过程中 根据等号右边的变量值来确定他的数据类型
var num = 10;//这里的num是数字型
js是动态语言 变量的数据类型是可以变化的,JavaScript 拥有动态类型,同时也意味着相同的变量可用作不同的类型:
var num = 10;//这里的num是数字型
num = 'pink';//这里的num是字符串型
JS 把数据类型分为两类:
最常见的进制有二进制、八进制、十进制、十六进制。
var num1 = 010;
console.log(num1);// 010 八进制 转换为 十进制 就是 8
var num2 = 017;
console.log(num2);//017 八进制 转换为 十进制 就是 15
var num3 = 0x9;
console.log(num3); //十进制 是 9
var num4 = 0xf;
console.log(num4);//十进制 是 15
在JS中 八进制前面加0, 十六进制前面加 0x
数字型范围
最大值:console.log(Number.MAX_VALUE);
最小值:console.log(Number.MIN_VALUE);
数字型三个特殊值
//无穷大
console.log(Number.MAX_VALUE * 2);
//无穷小
console.log(-Number.MAX_VALUE * 2);
//非数字
console.log('pink老师' - 100);
isNaN()
用来判断一个变量是否为非数字的类型,返回 true 或者 false
//isNan()这个方法用来判断非数字 并且返回一个值 如果是数字返回的是false 如果不是数字 返回的是true
console.log(isNaN(12)); //返回false
console.log(isNaN('pink')); //不是数字 返回true
var strMsg = "我爱北京天安门~"; // 使用双引号表示字符串
var strMsg2 = '我爱吃猪蹄~'; // 使用单引号表示字符串
字符串引号嵌套
JS 可以用单引号嵌套双引号 ,或者用双引号嵌套单引号 (外双内单,外单内双)
var strMsg = '我是"高帅富"程序猿'; // 可以用''包含" "
var strMsg2 = "我是'高帅富'程序猿"; // 也可以用" " 包含''
字符串转义符
// 1.检测获取字符串的长度
var str = 'my name is andy';
console.log(str.length);//16个
字符串拼接
// 2.字符串的拼接 +
console.log('沙漠' + '骆驼');// 字符串的‘沙漠骆驼’
console.log('pink老师' + 18);// pink老师18
console.log(12 + 23);//35
console.log('12' + 23);//1223
+ 号总结口诀:数值相加 ,字符相连
布尔类型有两个值:true 和 false ,其中 true 表示真(对),而 false 表示假(错)。
布尔型和数字型相加的时候, true 的值为 1 ,false 的值为 0。
var flag = true;//布尔型
var flag1 = false;//当 0 来看
console.log(flag + 1);//true参与加法运算 当 1 来看
var str;
console.log(str);
console.log(str + 'pink老师');//undefinedpink老师
console.log(str + 12);//NaN
一个声明变量给 null 值,里面存的值为空
var space = null;
console.log(space + 'pink');//spacepink
console.log(space + 12);//12
typeof 可用来获取检测变量的数据类型
console.log(typeof num);
var num = 10;
console.log(typeof num);//number类型
var str = 'pink老师';
console.log(typeof str);//string 字符串型
var flag = false;
console.log(typeof flag);//Boolean布尔型
var vari = undefined;
console.log(typeof vari);//undefined类型
var timer = null;
console.log(typeof timer);//object
字面量是在源代码中一个固定值的表示法,通俗来说,就是字面量表示如何表达这个值。
把一种数据类型的变量转换成另外一种数据类型。
// 1.把数字型转换成字符串型 变量.tostring();
var str = num.toString();
// 2.我们利用String(变量);
console.log(String(num));
// 3.利用拼接字符串 + 后面加上空字符串
console.log(num + '');
三种转换方式,我们更喜欢用第三种加号拼接字符串转换方式, 这一种方式也称之为隐式转换。
// 1.parseInt(变量); 可以把字符型转换成数字型 得到的是整数
console.log(parseInt(age));
console.log(typeof parseInt(age));
console.log(parseInt('210px'));//会自动去掉px这个单位
console.log(parseInt('aaa210px')); //NaN
// 2.parseFloat(变量); 可以把字符型的转换为数字型 得到的是小数 浮点数
console.log(parseFloat(age));
console.log(parseFloat(3.1415926));
// 3.利用Number(变量);
var str = '3124';
console.log(Number(str));
// 4.利用了算是运算 - * /实现隐式转换
console.log('213');//string 213
console.log('12' - 0);//number 12
console.log('123' - '214');//number -91
此案例要求在页面中弹出一个输入框,我们输入出生年份后, 能计算出我们的年龄。
console.log(Boolean('')); // false
console.log(Boolean(0)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean('小白')); // true
console.log(Boolean(12)); // true