20190528
根据传播智客所学笔记
1.前端标准
JavaScript、HTML、CSS各自的作用
HTML 提供网页上显示的内容(结构)
CSS 美化网页(样式)
JavaScript(JS) 控制网页行为(行为)
设计原则:
结构、样式、行为—分离!
2.JS组成
ECMAScript(前身为欧洲计算机制造商协会)
JavaScript的语法规范
DOM(Document Object Model 的简称)
JavaScript操作网页上元素的API
BOM(Browser Object Model 的简称)
JavaScript操作浏览器部分功能的API
3.输出输入语句
console.log(“内容”)
在控制台打印输出内容 //console.error()/console.warn()
alert(“内容”)
弹窗显示内容
document.write(“内容”)
在页面书写内容
confirm("WODE");
页面书写WODE
promopt("输入:");
输入内容
4.命名规则
驼峰命名规则:getElementById/matherAndFather/aaaOrBbbAndCcc
遵从规则:
1.变量命名必须以字母或是下标符号”_”或者”$”为开头。
2.变量名长度不能超过255个字符。
3.变量名中不允许使用空格,首个字不能为数字。
4.不用使用脚本语言中保留的关键字及保留符号作为变量名。
5.变量名区分大小写。(javascript是区分大小写的语言)
6.汉语可以作为变量名。但是不建议使用!!!(low)
5.变量使用
定义赋值
变量可以声明的时候赋值,也可以稍后赋值
var w=1;
//声明的时候赋值
var w;
w=7;//稍后赋值
同时定义多个变量
var a,b,c;
交换变量
例1:
目标:交换两个变量
步骤;
1.把a交换给b
2.把b交换给a
var a= 1;
var b=2;
var c;
console.log("a:"+a+"-----"+"b:"+b);
c=a;
a=b;
b=c;
console.log("a:"+a+"-----"+"b:"+b)
结果:
例2:
目标:交换两个变量(数值型)而且不能用中间值
步骤:
1.求和
2.利用和减去其中一个交换给另一个
3.减去刚才的一个交换给另一个
var a=7;
var b=1;
a= a+b;
b=a-b;
a=a-b;
document.write("a="+a+"-----"+"b="+b)
结果:
6.数据类型
6.1数据类型划分
使用关键字typeof:查看方法: typeof name 或者 typeof(name)
6.1.1简单数据类型(值类型)
四种: 字符串 数字 布尔 未定义 空
String Number Boolean undefined null
6.1.2 复杂数据类型(引用类型)
Object、function、Array、Date、RegExp、Error…
6.2 字面量
固定的值,让你从“字面上”理解其含义。
数值字面量
var age = 18;
// 数值字面量,18为字面值
6.3 简单数据类型介绍
6.3.1 Number
1.进制
进制包括2进制、8进制(011)、10进制、16进制(0xA)、制等…
2.浮点数
因为精度丢失问题,所以不判断计算后的两个浮点数是否相等。
3.数值范围
由于内存的限制,ECMAScript 并不能保存世界上所有的数值
最小值:Number.MIN_VALUE,这个值为: 5e-324
最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
无穷大:Infinity
无穷小:-Infinity
4.NaN
a) NaN 非数值(Not a Number的简写)
console.log(“abc”/18); //结果是NaN
Undefined和任何数值计算为NaN;
NaN 与任何值都不相等,包括 NaN 本身
b) isNaN():任何不能被转换为数值的值都会导致这个函数返回 true
(isNaN译为是否符合一个标准,什么标准呢?不是一个数字的标 准,如果符合了那么就不是一个数字,不符合就是一个数字)
isNaN(NaN);// true
isNaN(“blue”); // true
isNaN(123); // false
6.3.2 String
1.字面量定义方式
用引号时,可单可双,唯独不可一单一双。可用.length看有几个字符。
var name = "zhangsan";
var name = 'zhangsan';
var name = 'zhangsan"; //错误,单引号和双引号要成对出现
2.转译
总结:无法输出的字符,先输出/,在输出字符。(“、\、换行等....)
3.字符串不可变
在内存中不会立刻消失,只能二次赋值,原有的字符在一定时间 内被 垃圾回收器回收。
4.字符串拼接
如果两个变量都是字符串,无论是否包含数字,只要是拼接,那么在前一个后面添加后一个字符串。(+与-情况不同,详情参考数据转换)
6.3.3 Booblean
1.Boolean类型有两个字面量:true和false,区分大小写。(大写不对)
虽然Boolean 类型的字面值只有两个,但 ECMAScript 中所有类型的值都有与这两个 Boolean 值等价的值
2.true
true、除0数字、“something”、Object(任何对象)为true
3.false
false、0 、“”、undefined 、null为false
4.if判断时会把()内的值强行转换成boolean类型进行判断。
6.3.4 undefined和null
null和undefined有最大的相似性。看看null == undefined的结果(true)也就更加能说明这点。但是null ===undefined的结果(false)。不过相似归相似,还是有区别的,就是和数字运算时,10 + null结果为:10;10 + undefined结果为:NaN。
任何数据类型和undefined运算都是NaN;
任何值和null运算,null可看做0运算。