1. 编程语言(js)
有很强的逻辑和行为能力。在编程语言里, 你会看到很多 if else 、for 、while等具有逻辑性和行为能力的指令,这是主动的。
2.标记语言 (html)
不用于向计算机发出指令,常用于格式化和链接。标记语言的存在是用来被读取的, 他是被动的
3. JavaScript 是什么
JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (Script 是脚本的意思)
脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行
现在也可以基于 Node.js 技术进行服务器端编程
1.2 JavaScript 的作用
表单动态校验(密码强度检测) ( JS 产生最初的目的 )
网页特效
服务端开发(Node.js)
桌面程序(Electron)
App(Cordova)
控制硬件-物联网(Ruff)
游戏开发(cocos2d-js)
浏览器本身并不会执行JS代码,而是通过内置 JavaScript 引擎(解释器) 来执行 JS 代码 。JS 引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以 JavaScript 语言归为脚本语言,会逐行解释执行。
ECMAScript:ECMAScript 规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。
DOM ——文档对象模型
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。
BOM ——浏览器对象模型
BOM (Browser Object Model,简称BOM) 是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。
3.1 JS输入输出语句
<script>
// 这是一个输入框
prompt('请输入您的年龄');
// alert 弹出警示框 输出的 展示给用户的
alert('计算的结果是');
// console 控制台输出 给程序员测试用的
console.log('我是程序员能看到的');
</script>
4. 变量
变量是用于存放数据的容器。 我们通过 变量名 获取数据,甚至数据可以修改
本质:变量是程序在内存中申请的一块用来存放数据的空间。
5. 变量的初始化
var age = 18; // 声明变量同时赋值为 18
// 1. 用户输入姓名 存储到一个 myname的变量里面
var myname = prompt('请输入您的名字');
// 2. 输出这个用户名
alert(myname);
6.小结
为什么需要变量?
变量是什么?
变量的本质是什么?
变量怎么使用的?
什么是变量的初始化?
变量命名规范有哪些?
交换2个变量值的思路?
因为我们一些数据需要保存,所以需要变量
变量就是一个容器,用来存放数据的。方便我们以后使用里面的数据
变量是内存里的一块空间,用来存储数据。
我们使用变量的时候,一定要声明变量,然后赋值
声明变量本质是去内存申请空间。
声明变量并赋值我们称之为变量的初始化
变量名尽量要规范,见名知意——驼峰命名法
区分哪些变量名不合法
学会交换2个变量
7.数据类型
JavaScript 是一种弱类型或者说动态语言
在代码运行时,变量的数据类型是由 JS引擎 根据 = 右边变量值的数据类型来判断 的,运行完毕之后, 变量就确定了数据类型。
var x = 6; // x 为数字
var x = "Bill"; // x 为字符串
简单数据类型
数字型 Number // 在JS中八进制前面加0,十六进制前面加 0x
布尔值类型 Boolean true/false
字符串类型 String '' "" 包裹的
未被定义的 undefind 声明了变量a 但是没有给a赋值
空值 Null var a = null 变量a 为空值
//----------------------------
最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
最小值:Number.MIN_VALUE,这个值为:5e-32
alert(Infinity); // Infinity Infinity ,代表无穷大,大于任何数值
alert(-Infinity); // -Infinity -Infinity ,代表无穷小,小于任何数值
alert(NaN); // NaN NaN ,Not a number,代表一个非数值
isNaN() 用来判断一个变量为非数字的类型 true
var usrAge = 21;
var isOk = isNaN(userAge);
console.log(isNum); // false ,21 不是一个非数字
var usrName = "andy";
console.log(isNaN(userName)); // true ,"andy"是一个非数字
// -----------------------------------
字符串型 String
JS 可以用单引号嵌套双引号 ,或者用双引号嵌套单引号 (外双内单,外单内双)
字符串转义符: \n换行 \t 缩进
var str1 = "我是一个'高富帅'的\n程序员";
console.log(str1); 输出我是一个'高富帅'的
程序员
检测获取字符串的长度 length
var str = 'my name is andy';
console.log(str.length); // 15
// 2. 字符串的拼接 + 只要有字符串和其他类型相拼接 最终的结果是字符串类型
console.log('沙漠' + '骆驼'); // 字符串的 沙漠骆驼
console.log('pink老师' + 18); // 'pink老师18'
console.log('pink' + true); // pinktrue
console.log(12 + 12); // 24
console.log('12' + 12); // '1212'
var age = 19;
console.log('pink老师age岁'); // 输出pink老师age岁
// 我们变量不要写到字符串里面,是通过和 字符串相连的方式实现的
console.log('pink老师' + age + '岁'); // 输出pink老师18岁
// 变量和字符串相连的口诀: 引引加加
console.log('pink老师' + age + '岁');
// 显示年龄案例
// 弹出一个输入框(prompt),让用户输入年龄(用户输入)
// 把用户输入的值用变量保存起来,把刚才输入的年龄与所要输出的字符串拼接 (程序内部处理)
// 使用alert语句弹出警示框(输出结果)
var age = prompt('请输入您的年龄');
var str = '您今年已经' + age + '岁了';
alert(str);
var flag = true; // flag 布尔型
var flag1 = false; // flag1 布尔型
console.log(flag + 1); // true 参与加法运算当1来看
console.log(flag1 + 1); // false 参与加法运算当 0来看
// 如果一个变量声明未赋值 就是 undefined 未定义数据类型
var str;
console.log(str);
var variable = undefined;
console.log(variable + 'pink'); // undefinedpink
console.log(variable + 1); // NaN undefined 和数字相加 最后的结果是 NaN
// null 空值
var space = null;
console.log(space + 'pink'); // nullpink
console.log(space + 1); // 1
获取变量数据类型
var num = 10;
console.log(typeof num); // number
var str = 'pink';
console.log(typeof str); // string
var flag = true;
console.log(typeof flag); // boolean
var vari = undefined;
console.log(typeof vari); // undefined
var timer = null;
console.log(typeof timer); // object
// prompt 取过来的值是 字符型的
var age = prompt('请输入您的年龄');
console.log(age);
console.log(typeof age);
1. 把数字型转换为字符串型 变量.toString()
var num = 10;
var str = num.toString();
console.log(str);
console.log(typeof str);
// 2. 我们利用 String(变量)
console.log(String(num));
// 3. 利用 + 拼接字符串的方法实现转换效果 隐式转换
console.log(num + '');
// 转换成数字型
var age = prompt('请输入您的年龄');
// 1. parseInt(变量) 可以把 字符型的转换为数字型 得到是整数
// console.log(parseInt(age));
console.log(parseInt('3.14')); // 3 取整
console.log(parseInt('3.94')); // 3 取整
console.log(parseInt('120px')); // 120 会去到这个px单位
console.log(parseInt('rem120px')); // NaN
// 2. parseFloat(变量) 可以把 字符型的转换为数字型 得到是小数 浮点数
console.log(parseFloat('3.14')); // 3.14
console.log(parseFloat('120px')); // 120 会去掉这个px单位
console.log(parseFloat('rem120px')); // NaN
// 3. 利用 Number(变量)
var str = '123';
console.log(Number(str));
console.log(Number('12'));
// 4. 利用了算数运算 - * / 隐式转换
console.log('12' - 0); // 12
console.log('123' - '120');
console.log('123' * 1);
// 先弹出第一个输入框,提示用户输入第一个值 保存起来
// 再弹出第二个框,提示用户输入第二个值 保存起来
// 把这两个值相加,并将结果赋给新的变量(注意数据类型转换)
// 弹出警示框(alert) , 把计算的结果输出 (输出结果)
var num1 = prompt('请您输入第一个值:');
var num2 = prompt('请您输入第二个值:');
var result = parseFloat(num1) + parseFloat(num2);
alert('您的结果是:' + result);
转换成布尔值 Boolean()
'' 0 NaN null undefinde 都为false 其余都为true
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('------------------------------');
console.log(Boolean('123'));
console.log(Boolean('你好吗'));
console.log(Boolean('我很好'));
解释型语言:js,一边编译一边运行
编译语言 java 是在代码执行之前进行编译,先编译,在运行
标识符:就是指开发人员为变量、属性、函数、参数取的名字,不能是 保留字,关键字