笔记 - JavaScript - 宾哥视频

第一天:

【01】
JS是基于事件驱动型的面向对象的编程语言,当发生某个特殊事件的时候执行一段特殊程序;
每一个JS事件都会对应一个事件句柄,事件句柄的名称是:on+事件名,例如click是鼠标单击事件,onclick是鼠标单击事件句柄;
我们可以选择在事件句柄后面“注册”JS代码,当事件被触发时,注册在事件句柄后的JS代码会被自动执行。
【02】
JS是解释性语言,边解释,边执行,并且具有阻断性;预处理加执行二者合一就叫做“解释”。
【03】
所谓变量就是程序中存储数据的容器;
JS中所有变量在声明时没有赋值的情况下,系统默认赋值undefined;变量没有定义,直接访问时会报错;
在一行中可以同时声明多个变量。
【04】
JS中的函数function和Java中的方法Method相同;
由于JS函数中的参数可有可无,且参数的数据类型是任意的,所以在JS中没有方法的重载机制;
计算结果本应返回一个数字,但结果不是数字时,结果为NaN,意思是Not a Number;
【05】
变量在声明时,没有使用var关键字,那么此变量无论在哪个位置,都属于全局变量;

第二天:

【01】
JS中的数据类型:Undefined, Null, String, Number, Boolean, Object;
【02】
typeof运算符,在程序运行阶段动态判断变量的数据类型,语法:typeof 变量名;
typeof运算结果包括6种:"undefined"(值未定义),"number"(值是数值),"string"(值是字符串),"object"(值是对象或null),"boolean"(值是布尔值),"function"(值是函数);
prototype属性可以动态地给类的对象扩展方法和属性;
【03】
str.toLowerCase();//将字符串转换为小写;
str.toUpperCase();//将字符串转换为大写;
str.substring(beginIndex, endIndex);//截取起始下标到结束下标之间的字符串,不包含结束下标对应的字符;
str.substr(beginIndex,lenth);//截取起始下标开始到指定长度的字符串;
str.replace('str/reg',new);//替换指定的或符合规则的字符为新字符;
【04】
JS中除了整数或浮点数,NaN和Infinity也属于Number数据类型,Infinity表示无穷大,除数为0时结果必为Infinity;
isNaN(obj);//判断数据是否为数字,非数字返回true,是数字返回false;
parseInt(data);//将数据转换为Number类型的整数,数据可以是字符串,只保留整数位;
parseFloat(data);//将数据转换为Number类型的浮点数,数据可以是字符串,保留小数;
【05】
在JS中,=号代表赋值,==号比较值是否相同,有隐性(自动)数据转换效果,===比较值和数据类型是否都相同;
【06】
JS中函数声明就表示定义了一个类,函数名就是类名,函数本身又是构造函数,函数声明和类的定义混合完成;
【07】
undefined和null的值相等,但是类型不同;
【08】
arr.join('str');//以指定字符连接数组中的每个元素,返回拼接后的字符串;
arr.reverse();//反转数组中的元素顺序;
arr.pop();//删除数组中的最后一个元素;
arr.push(data);//在数组的末尾添加一个元素;
数组中的pop和push方法模拟了栈数据结构;
obj.toString();//将对象转换为String类型;
【09】
有属性的元素都可以使用:元素对象.属性;的语法来获取属性或对其赋值;例如:inputElem.value;checkElem.checked;等;
【10】
常用的DOM操作:
document.getElementById('id');//通过id属性获取元素;
document.getElementsByName('name');//通过name属性获取元素;
document.getElementsByTagName('tagName');//通过标签名获取元素;
document.getElementsByClassName('className');//通过class属性获取元素;
【11】
elem.innerHTML;//获取或设置元素中的HTNL代码;
【12】
dateObj.toLocaleString;//将系统时间转换成具有本地语言环境的时间,返回字符串;
【13】
window.setInterval(code, time);//指定间隔时间(毫秒)执行代码或调用函数;属于window的方法,code参数可以是引号内的一段可执行代码或函数;使用时需要注意变量或函数的作用域();
【14】
onblur;//失去焦点事件(blur)句柄;
onfocus;//获得焦点事件(focus)句柄;
onsubmit;//表单提交事件(submit)句柄,通常给form元素添加,return ture为提交,反之则反;
【15】
document.forms;//获取文档中的表单元素的集合;
formObj.submit();//表单元素的提交方法;
【16】
str.trim();//去除字符串前后的空字符;IE6~8不支持;
正则表达式中开始^符号和结束$符号,指的是行首和行尾匹配;
【17】
var regExp = /RegExp/flag;//声明正则表达式变量,Perl风格;
var regExp = new RegExp('RegExp', 'flag');//声明正则表达式变量,JS风格;
regExp.test(obj);//验证对象是否符合正则表达式规则,符合返回true,反之则反;
【18】
String.prototype.trim = function () {
  return this.replace(/\s+/, '').replace(/\s+$/, '');
};//重写String的trim方法,兼容性好;
【19】
onchange;//域的内容发生改变事件句柄;例如:文本框、输入框或下拉菜单的内容发生改变时触发;
【20】
document.createElement('tagName');//创建一个指定标签名的新元素;
elem.appendChild(newElem);//将一个元素添加至指定节点的子节点末尾;
【21】
elem.innerText;//获取或设置元素中的文本字符串,即使其中是HTML代码也只当做普通字符串处理;FF44.0.2以下版本不支持;
elem.textContent;//与innerText功能类似,IE6~8不支持;

第三天:

【01】
window.alert(data);//警告提示框;
window.confirm(data);//确认提示框,点击确定返回true,反之则反;
window.prompt(text, defaultText);//输入对话框,返回输入的字符串,无输入便返回空字符;
window.location.href;//设置或返回完整URL地址;实际使用中,设置URL时,href可以省略;
【02】
document.location.href;//作用与window.location.href相同;
【03】
window.history.back();//加载history对象的列表中的上一个页面,等价于go(-1);
window.history.forward();//加载history对象的列表中的下一个页面,等价于go(1);
window.history.go(num);//加载history对象的列表中的指定页面;
【04】
window.open(url, features);//打开一个指定地址的新窗口或返回一个已命名的窗口,调用open方法的窗口称为父窗口,打开的新窗口称为子窗口;
在JS中,全局变量和全局函数,都属于window对象的属性;
【05】
window.opener();//子窗口可通过opener方法获取父窗口的所有window对象属性,这种方式称为父子窗口通信;低版本chrome浏览器兼容性存疑;
【06】
tableObj.insertRow(index);//创建并返回一个新tableRow对象,并插入表格中的index所在行之前,若index等于表格行数,则被加到表格末尾;若表为空,插入到一个新的中,再将其插入表格;
tableRow.insertCell(index);//创建并返回一个新元素,并插入index指定位置表元之前;若index等于行单元格数,则附加在行末尾;该方法只能创建数据表元,无法创建标签;
tableObj.deleteRow(index);//删除表格中index位置的行;
tableRow.rowIndex;//返回该行在表格中的位置;
在JS中,获取到form或table元素后,无法再通过这两种元素使用getElementById()方法获取它们其中的元素节点,亲测;
【07】
onmouseover;//鼠标移入事件句柄;
onmouseout;//鼠标移出事件句柄;
elem.style;//返回或设置元素的行内样式;
【08】
在JS中,类似toggle的效果,可以使用一个boolean值来判断第一次点击和第二次点击元素的状态;
【09】
javascript: void(0);//执行void表达式,不返回结果;通常写在a标签的href属性中,使a标签空链接点击后不会跳转到页面顶部,保留a标签样式,并执行一段JS代码;
【10】
在JS中,[]表示数组对象,{}表示json对象(javascript object notation, JS对象标记);
使用for in循环时,循环的可以是数组对象的index值,也可以是json对象的key值;
使用json对象可以嵌套存储各类数据,包括数组、函数以及json对象;
【11】
window.eval();//计算某个字符串,并执行其中的的JS代码;
服务器程序连接数据库查询数据,然后拼接成一个json格式的字符串发送给浏览器,浏览器通过JS中的eval方法,将json格式的字符串转换成json对象并解析;
【12】
ondbclick;//鼠标双击事件句柄;
onmousemove;//鼠标移动事件句柄;

完成。

posted @ 2017-08-19 21:50  诸葛战鹰  阅读(199)  评论(0)    收藏  举报