转换、js等腰三角形、预解析、作用域、递归、练习题拿着玩
2020-07-14 05:49
489 查看
一、
》转数字:
Number、parseInt、parseFloat、- * / %
=》转字符串:
String 、变量.toString(8) =>八进制输出,默认10进制输出
=》转boolean:
boolean、(‘ ’,nan,number、null、underfind)
二、画一个等腰三角形(document.write)
三、
(1)var a=b a=0 b=0;console.log(a) console.log(b)
(2)var fun=200;function fun(){console.log(‘111’)} fun()
(3)函数内部解析会形参赋值比var提前进行
(4)预解析的无节操,var不管在哪都声明if的false和return后
四、作用域,可以往上查找
五、递归function fn(){console.log(‘111’) fn()} fn()
前端面试中最常见使用递归方法手写数组扁平化
let arr = [1, 2, 3, 4, 5, [6, 7, 8, [9, 10, 11, 12, [13, 14, 15, 16]]]]; let arr1 = [] function recursion(arr) { for (var i = 0; i < arr.length; i++) { if (Array.isArray(arr[i])) { recursion(arr[i]) } else { arr1.push(arr[i]) } } } recursion(arr)
六、数组的冒泡和选择排序(sort)
冒泡排序:
var arr = [8,6,5,3,7,92,1] for(var i =0;i<arr.length;i++){ if(arr[i]>arr[i+1]){ var tem=arr[i] arr[i]=arr[i+1] arr[i+1]=tem } } //把上面代码放进来 for(var j=0;j<arr.length;j++){} 优化: 1、每次-1,-2,-3因为后面都有了,不需要比了 (length-j) 2、最外成少比一次 for(var j=0;j<arr.length-1;j++){ for(var i =0;i<arr.length-j;i++){ if(arr[i]>arr[i+1]){ var tem=arr[i] arr[i]=arr[i+1] arr[i+1]=tem } } }
选择排序:
var arr = [1,2,3,7,4,5,6] var index= 0 for(var i=0;i<arr.length;i++){ if(arr[i]<arr[index]){ var index=i } } if(0!==index){ var tmp = arr[0] arr[0]=arr[index] arr[index] = tmp } //放进去 for(var j =0;j<arr.length-1;j++){ //放进来后index要变成J因为要随着变 } 最后: for(var j =0;j<arr.length-1;j++){ var index= j for(var i=j+1;i<arr.length;i++){ if(arr[i]<arr[index]){ var index=i } } if(0!==index){ var tmp = arr[j] arr[j]=arr[index] arr[index] = tmp } } ``
相关文章推荐
- js 将json字符串转换为json对象的方法解析
- js解析字符串转换成json对象 将字符串内容生成左侧菜单
- JS的解析顺序和作用域(严格模式)
- JS的解析顺序和作用域(严格模式)
- js 函数的执行环境和作用域链的深入解析
- js 将json字符串转换为json对象的方法解析
- js 将json字符串转换为json对象的方法解析
- js 将json字符串转换为json对象的方法解析
- js学习笔记6----作用域及解析机制
- 解析JS的数据类型转换
- JS作用域深度解析
- js 函数的执行环境和作用域链的深入解析
- JS的解析顺序和作用域(严格模式)
- js作用域与预解析
- js 将json字符串转换为json对象的方法解析
- 关于js语法中的一些难点(预解析,变量提前,作用域)
- JS中的进制转换以及作用
- JS中的作用域解析
- 打印三角形(直角与等腰),打印等边(递归实现)
- js 将json字符串转换为json对象的方法解析