Learn from 菜鸟教程
- 在 JavaScript 中, null 用于对象, undefined 用于变量,属性和方法。对象只有被定义才有可能为 null,否则为 undefined。
例如测试对象是否存在,需要先使用 typeof 来检测对象是否已定义,在判断是否为null,不能反过来:
if (typeof myObj !== "undefined" && myObj !== null)
-
正则表达式(入门小实例)--从字符串中提取出数字:
var str = "abc123def";
var patt1 = /[0-9]+/;
document.write(str.match(patt1));
- JS表单提交 时的onsubmit属性,在提交表单前先验证,验证不通过时不提交
onsubmit="return validate()"(如果不写return,验证不通过时仍然会提交表单)
this:面向对象语言中 this 表示当前对象的一个引用。但 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变。
- 在对象的方法中,this 表示该方法所属的对象。
- 如果单独使用,this 表示全局对象(Object Windows)。
- 在函数中,this 表示全局对象。
- 在函数中,在严格模式下,this 是未定义的(undefined)。
- 在HTML事件中,this 表示接收事件的HTML元素。
- 类似 call() 和 apply() 方法可以将 this 引用到任何对象。
验证API(DOM中):
- input 元素的属性约束验证方法checkValidity(),setCustomValidity(“...”)可以自定义验证的提示信息,使用validationMessage显示;
- 约束验证属性validity(包含很多的子属性);
在函数内部声明变量时使用var和let是一样的,都只有函数内的作用域;全局变量都有全局的作用域;var不具有块级作用域
字符串的replace()
http://www.w3school.com.cn/jsref/jsref_replace.asp
JS的异步
示意图:
运算符
let b = "5"
let a = +b // + 用来将b转化为数字类型
for循环
- for (lei i=0;i<n;i++){...}
- for(let val of arr){...}
- for(let key in obj){
- if(obj.hasOwnProperty(key)){...}
while循环
基于数组的遍历循环
- array.forEach((item,index,obj)=>{...})
- mapArray= array.map((item,index,obj=>{ ... return mapValue;})
建议学习参考链接:
菜鸟教程、MDN、W3CSchool等的HTML/JavaScript/CSS教程;