共计 2414 个字符,预计需要花费 7 分钟才能阅读完成。
JSBasic
对象篇
创建对象
var obj=new Object();
obj.name = RAY;
...
变量篇
变量命名:
由字母、下划线、数字、$ 组成;不能是关键字和保留字;辨别大小写
闭包
有权拜访另一个函数作用域中的变量的函数。多见于在一个函数外部创立另一个函数。
JS 根底
目标 & 当初:
js 最开始是为了判断客户端的输出,如:对传空的参数进行判断,为了缩小服务器的压力;现在:特效、异步交互、web& 挪动端、客户端 nodejs 等
组成:
ECMAscript (js 语法标准),BOM(js 操作浏览器 API),DOM(js 操作网页元素 API)
基本知识
1.var 一个变量,内存里的栈则将会保留这个根本类型 => 变量的值。2.js 是一种弱类型的语言
3.JavaScript 的数据类型有:简略 (根本) 类型:Number、String、Boolean、undefiend、null
简单(援用):Oject、Array、Date 等
4.typeof x => typeof 关键字用来查看 x 的类型是什么;5.NaN => 非数值类型
isNaN(x):任何不能被转换为数值的值都会导致此函数返回 true;6. 本义符
\\n 换行 \\t 制表缩进 \\b 空格 \\r 回车 \\\\ 斜杠
var str="hello \\"itcast\\" ";
7. 因为字符串不可变性,for 循环对一般类型,根本字符串的一直操作,会一直开拓内存栈里的内存空间,故尽量应用数组;8. 空字符串,0,NaN,null,undefined 在 boolen 值转换中都会转换成 false;“0”这是字符串 是 true;
var msg; // 此时 msg 为 undefined;
if(msg){alert ("true")}else{alert("false")}
9. 转换成字符串类型:tostring(“123”) String(abc) 或者用 + 拼接字符串;
eg: var str=""+18;//"18"
把字符串转换成数字类型:Number("123") 或者 parsetInt("123")【转换成整数】或者 parseFloat(“123”)【浮点数】转换成布尔类型:隐式转换:(!abc),(!!abc) ,(abc)
Boolen("123");
10. 数字运算符 %=》取余
++a;先 a =a+1(a 已从新赋值) 表达式返回 a 的值(a 从新赋值)
a++;先返回表达式的值 a(返回的是原之前的 a)再 a = a+1:(a 从新再赋值)11. 逻辑运算符 **&&:与 有一个为 false,则返回 false**
**||:或 有一个 true,则返回 true**!:取反
短路运算符是因为 && 第一个满足,为 false,则不执行,返回 false
|| 第一个满足,为 true,则不执行返回 true
额定:var b ="abc" && "bcd"; 如果 2 个操作数,有一个为 false,则返回这个数;如果都是 true,返回第二个;var b = "abc" || undefined; 返回 true 的那个值,12.=== 全等是 ** 值 ** 和 ** 类型 ** 都等于才能够
13.switch 里的 case 用的是全等;不写 break 则会把匹配到语句,以及上面的语句也执行了
switch(a){
case x:
console.log(x);
case y:
conosle.log(y);
default :
console.log(haha);
break;
}
14. 三目运算符 var sex=1; sex=sex ===1?“男”:“女”(true:false)
15.break: 在某种条件下,中断循环
continue: 合乎某种条件下,跳过该序,循环下一个
DomAPI
1. 获取元素
document.getElementById
依据 ID 查找元素,如果有多个后果,只返回第一个
document.getElementsByClassName
依据类名查找元素,多个类名用空格分隔,返回一个 HTMLCollection
document.getElementsByTagName
依据标签查找元素,* 示意查问所有标签,返回一个 HTMLCollection
document.getElementsByName
依据元素的 name 属性查找,返回一个 NodeList
document.querySelector
返回单个 Node,IE8+(含),如果匹配到多个后果,只返回第一个
document.querySelectorAll
返回一个 NodeList,IE8+(含)
2. 节点创立
根底练习
1. 应用 temp 替换两个变量
var n1=50,n2=60;
var temp=n1;
n1=n2;
n2=temp;
2. 不实用 temp 替换两个变量
var n1=50,n2=60;
n1=n1+n2;
n2=n1-n2;
n1=n1-n2;
3. 应用 prompt windows 自带的 input 弹出 - 输入框
var num=prompt(“ 请输出一个数字 ”);
if(isNaN(num)){
console.log(“ 不是数字 ”)
}else {
console.log(“ 是数字 ”)
}
4. 数值类型转换
// 当字符串由字母与数字组成
var numberTrans=”123ab“;
alert(parseInt(numberTrans)); //123
alert(Number(numberTrans)); //NaN
// 当字符串为空 null 时
var numberTrans=”null“;
alert(parseInt(numberTrans)); //NaN
alert(Number(numberTrans)); //0
// 当字符串为空“”时
var numberTrans=” “;(或者 字符串 A)
alert(parseInt(numberTrans)); //NaN
alert(Number(numberTrans)); //0
5. 短路逻辑或的用法
var n1 =n1 || 0; 意思是如果 n1 为 ”” ,undefined, null 则 n1=0;