Open JackWong992 opened 6 years ago
--- for (var i=0; i<arr.length;i++){ for(var j=0; j<arr[i].length;j++){ console.log(arr[i][j]) } }
JS中所有用到class的地方都必须换成className
指的是调用当前方法(函数)的那个对象。
HTML: <input type="btton" value="按钮"> JS: var oBtn = document.getElementsByTagName('input'); oBtn[0].abc="123"; console.log(oBtn[0].abc); // 123
JS可以为任何HTML元素添加任意自定义属性。 在JS中背景,color,相对路径都不能作为判断条件。 获取自身递增数字及匹配数组内容: 地址:http://js.jirengu.com/vudenelaxu/2/edit
变量作用域: 局部变量:定义在一个函数里,只能在这个函数里使用 全局变量:不定义在函数里面,在任何地方可以使用 闭包:子函数可以使用父函数的局部变量
function aaa(){ var a=1; function bbb(){ alert(a); } }
JS中的运算符 +-*/%:加,减,乘,除,取模 取模的实例:隔行换色,秒转时间 赋值:=,+=,-= 逻辑: &&与 ||或 !非 运算符优先级:括号
程序流程控制: 判断:if switch 循环:while for do...while 跳出:break,continue 真/假: true,非零数字,非空字符串,非空对象 NaN,'',undefined,0,{} switch(变量/值){ case 值1:... break; case 值2:... break; case 值3:... break; default: ... }
JavaScript引擎工作方式是:先解析代码,然后获取所有声明的变量,在一行行的运行。 这样造成的结果是:所有的变量的声明语句,都是被提升到代码的头部,这就叫做变量提升。 例如:var a=3; var b="ok"; 在js引擎中是这样操作的: 先找到一个a变量,初始化的值为undefined,然后在找到一个b的变量初始化值为undefined 接着第二步,赋值。给a变量赋值为3,b变量赋值为字符串ok
fn(100) function fn(a){ alert(b) } //a=100 fn(100,'px') function fn(a ,b){alert( a+b) } // 100px
函数传递参数: 参数=JS的数据类型:number,string,boolean,undfined,null,symbol,object 当然你也可以这样做:
fn( function(){ alert(1) } ) function fn(abc){ abc(); //1 }
例子:
function fn2(lol){ lol(100) } fn2( function(a){ alert( a ) } )
1.传参,lol指的是function(a){alert( a )}
function fn4(){ alert(4) } function fn3( fn ){ fn(); } fn3( fn4 ) //4
当然,参数的传递也可以是对象: 例如,我们平时在控制台输出可以使用console.log(1)
console.log(1)
function fn(w,d){ w.onload=function(){ d.body.innerHTML=123; } } fn(window,document);
函数传参重用代码: 1、尽量保证HTML代码结构一致,可以通过父极选取子元素 2、把核心的主程序实现,用函数封装起来 3、把每组里不同的值找出来,通过传参实现
什么是作用域? 域:空间,范围,区域... 作用:读、写
JS基础以及一些小的案例实现
for循环二维数组:
JS中所有用到class的地方都必须换成className
this
指的是调用当前方法(函数)的那个对象。
自定义属性
JS可以为任何HTML元素添加任意自定义属性。 在JS中背景,color,相对路径都不能作为判断条件。 获取自身递增数字及匹配数组内容: 地址:http://js.jirengu.com/vudenelaxu/2/edit
变量类型的转换 字符串转换为数字:parseInt(),parseFloat() 如果没有数字则返回NaN;如果开头为字符串,也是返回NaN 检测NaN的方法:isNaN() NaN!==NaN NaN+number=NaN 隐式类型转换 ==先把两边东西转为一样的类型,然后在比较 === 不转换,直接比较 -直接就是数字减法转换 ’+‘: 1. 字符串相加 2. 数字相加 ’-,,/‘只有数学含义 注释: 单行注释: // 多行注释: / */
变量作用域: 局部变量:定义在一个函数里,只能在这个函数里使用 全局变量:不定义在函数里面,在任何地方可以使用 闭包:子函数可以使用父函数的局部变量
JS中的运算符 +-*/%:加,减,乘,除,取模 取模的实例:隔行换色,秒转时间 赋值:=,+=,-= 逻辑: &&与 ||或 !非 运算符优先级:括号
程序流程控制: 判断:if switch 循环:while for do...while 跳出:break,continue 真/假: true,非零数字,非空字符串,非空对象 NaN,'',undefined,0,{} switch(变量/值){ case 值1:... break; case 值2:... break; case 值3:... break; default: ... }
变量提升
JavaScript引擎工作方式是:先解析代码,然后获取所有声明的变量,在一行行的运行。 这样造成的结果是:所有的变量的声明语句,都是被提升到代码的头部,这就叫做变量提升。 例如:var a=3; var b="ok"; 在js引擎中是这样操作的: 先找到一个a变量,初始化的值为undefined,然后在找到一个b的变量初始化值为undefined 接着第二步,赋值。给a变量赋值为3,b变量赋值为字符串ok
函数传参(函数传递参数)
函数传递参数: 参数=JS的数据类型:number,string,boolean,undfined,null,symbol,object 当然你也可以这样做:
例子:
1.传参,lol指的是function(a){alert( a )}
当然,参数的传递也可以是对象: 例如,我们平时在控制台输出可以使用
console.log(1)
函数传参重用代码: 1、尽量保证HTML代码结构一致,可以通过父极选取子元素 2、把核心的主程序实现,用函数封装起来 3、把每组里不同的值找出来,通过传参实现
JS作用域
什么是作用域? 域:空间,范围,区域... 作用:读、写