IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 04 双重循环 经典案例 函数 -> 正文阅读

[JavaScript知识库]04 双重循环 经典案例 函数

双重循环

????第一步先创建一个tr里面10个td

????????// 获取table

???????var table=document.getElementById("table");

????????// 定义一个初始字符串

???????var str="";

????// ???先给这个字符串增加一个tr

???????str+="<tr>";

????????// 下面循环10次,每次给里面累加一个td

???????var i=0;

???????while(i<10){

???????????str+="<td></td>";

???????????i++;

???????}

????// ???最后结束是累加一个</tr>

???????str+="</、tr>";

???????console.log(str)

????第二步把刚才创建一个tr的方式循环10次

var table=document.getElementById("table");

???????var str="";

???????var j=0;

???????循环创建10次tr

???????while(j<10){

????????????str+="<tr>";

????????????var i=0;

????????????while(i<10){

????????????????str+="<td></td>";

????????????????i++;

????????????}

????????????str+="</tr>";

???????????j++;

???????}

???????table.innerHTML=str

???????

九九乘法口诀表

var table=document.getElementById("table");

???????var str="";

???????var j=1;

???????while(j<10){

????????????str+="<tr>";

????????????var i=1;

????????因为乘法口诀表中列数小于等于当前行数

????????????while(i<=j){

????????i+"*"+j+"="+i*j ??变量+"*"+变量+"="+变量运算结果

????????????????str+="<td>"+(i+"*"+j+"="+i*j)+"</td>";

????????????????i++;

????????????}

????????????str+="</tr>";

???????????j++;

???????}

???????table.innerHTML=str

最大公约数

?var a=64,b=48;

?先找出两个数中最小的值

????var min=a>b ? b : a;

让这个数不断减小,直到1为止,然后判断a和b除以这个不断减小的数是否可以被整除,如果两个都可以被整除,则这个树就是他们两个最大公约数

????while(min>=1){

????????if(a%min===0 && b%min===0){

????????????break;

????????}

????????min--;

????}

????console.log(min);

最小公倍数

?var a=12,b=16;

先求出最大值

????var max=a>b ? a : b;

????循环判断不断让这个最大值递增,当小于等于a*b的积时,判断这个值是否能够被a和b整除,如果可以的话就是其最小公倍数

????while(max<=a*b){

????????if(max%a===0 && max%b===0){

????????????break;

????????}

????????max++;

????}

????console.log(max);

?求素数 质数 ?只能被1和自身整除的树

??2-100

????var i=2;

????while(i<=100){

????????var j=2;

???????假设每个数都是素数

????????var bool=true;

????????while(j<i){

????????????if(i%j===0){

????????????????console.log(i+"这个数不是素数");

???????????????如果有一个不是素数,则把bool设为false,

???????????????这时候循环完成判断时就不会认为它是素数了

????????????????bool=false;

????????????????break;

????????????}

????????????j++;

????????}

????????if(bool){

????????????console.log(i+"这个数是素数")

????????}

????????i++;

????}

do while

先执行语句块,然后再判断条件

????var i=0,s=0;

????????do{

????????????s+=i;

????????????i++;

????????}while(i<=100);

????????console.log(s)

将一个链表的数据进行深遍历

?var obj = {

????????????value: 1,

????????????link: {

????????????????value: 2,

????????????????link: {

????????????????????value: 3,

????????????????????link: {

????????????????????????value: 4

????????????????????}

????????????????}

????????????}

????????};

????????while(obj){

????????????console.log(obj.value);

????????????obj=obj.link;

????????}

for循环

??for(变量的初始值;循环的条件;变量向条件运算的表达式){

????????????

????????}

var s=0;

? ? ? ? // for(var i=0;i<=100;i++){

? ? ? ? // ? ? s+=i;

? ? ? ? // }

? ? ? ? // console.log(s)

函数

命名函数

function ?函数名(){

}

当创建script标签时,首先就会把当前script标签中所有变量及函数名做预存储在栈中

栈就相当于内存 存储了小,堆相当于硬盘 存储量大 速度慢

函数除了会把函数名做预解析以外,还会把函数体存储在堆中,并且可以随时执行

var a=3;

在栈中开辟一个空间,这个空间名叫做a。里面存放了3这个值

在战中开辟一个空间,这个空间名就是函数名,然后把函数体存在堆中,在栈中空间里存储函数体在堆中地址

匿名函数

var 函数名=function(){

}

只有定义赋值完成后才可以调用当前函数,只能写在定义变量后执行函数

自执行函数

(function(){

})()

~function(){

}();

+function(){

}();

构造函数创建

var 函数名=new Function(){

}

创建定义完成后才可以执行

var getSum=new Function("a,b","console.log(a+b)");

把参数和函数体内的代码以字符串先后的顺序给入

函数式编程 ?函数外面除了变量没有其他代码,及其实进入函数执行

每个函数要有自己独立实现的功能,尽量不要将多个功能混在一个函数中描写

如果函数内部没有改变外部的变量和内容,这种函数叫做纯函数

n叫做参数

function fn(n){

}

函数的参数

定义函数时,函数名后括号内的变量叫做参数,当执行函数时,函数名后面添加的数据

会逐一赋值给参数,按顺序逐一赋值

这个参数变量 ?叫做形参

function fn(a,b){

??}

执行函数时赋值的数据叫做实参

??fn(3,4);

把实参赋值给形参

如果实参比形参数量少,没有赋值的形参结果时undefined

如果实参比形参多,多出来的实参,在形参中式无法接受

# 函数的return

????????function getSum(){

????????????// 定义一个sum初始值

????????????var sum=0;

????????????// 让i从0开始循环到arguments的长度(传参的数量)

????????????for(var i=0;i<arguments.length;i++){

????????????????// 让sum不断累加实参

????????????????sum+=arguments[i];

????????????}

????????????// 返回这个计算完成结果

????????????return sum;

????????}

???????var s=getSum(1,2,3,4,5,7,9)

????????console.log(s);

????return 还有跳出函数的作用,不再执行return后面的语句

????return 必须写在函数里

????return与break的区别

????return 必须写在函数内,break必须写在循环或者switch中

如果在函数中有循环或者switch,如果使用return,直接跳出函数,不再执行return后面的语句

????如果使用break只跳出当前循环语句或者switch,执行后面的语句,

直到函数内所有内容运行完成

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 15:50:58  更:2021-12-14 15:53:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:29:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码