js9

Centos7.9 安装WIKI.JS 登录数据库,创建wiki数据库,修改postgres用户密码为“postgres”PostgreSQL配置。初始化数据库并启动服务。修改数据库配置,允许。 阅读详情
网协论坛 » 『 编程乐园 』 » 【zz】参加JavaScript面试,必须搞懂的问题
2008-1-15 12:20 葡萄架子
【zz】参加JavaScript面试,必须搞懂的问题 一. JavaScript中的对象. JavaScript中的Object是一组数据的 key-value的集合, 有点类似于Java中的HashMap, 所有这些数据都是Object里的property. 通常情况下,  JavaScript中建立一个对象用"new"加上constructor function来实现. 如new Date(),  new Object()等. var book = new Object(); book.name = "JavaScript is Cool"; book.author = "tom"; book.pages = 514; 上面例子中的name和page就是名为book的对象中的property. 我们可以用delete来删除Object中的property:  "delete book.name;". 除了Object, Date等buildin的对象外, 我们可以写自己的 constructor function, 然后使用new就可以建立自己的对象. 如上面的book可以写成: function Book (name, author, page) { this.name = name; this.author = author; this.page = page; } var abook = new Book("JavaScript is Cool", "tom", 514); 二. function的用法 在JavaScript 中, function是一种数据类型, 所有的function都是从buildin的Function object 衍生的对象. 所以在 JavaScript 中function可以作为参数传递, 可以作为Object的property, 也可以当作函数返回值. function在 JavaScript中有两种用法, 一种是当作constructor, 前面加上new keyword用来建立对象. 一种是当作method,  为其他对象调用. 注意function和method在中文里的意思相当, 在有些语言里也可以通用. 但是在JavaScript中,  它们还是有所区别的. function本身是是一个对象, 而当作为一个方法他属于一个对象时, 就成为了一个这个对象的method, 相当于一个对象种的属性. 也就是说method是相对于一个对象而言的, function在某些情况下成为了一个对象的method. function Book(name, author, page) { this.name = name; this.author = author; this.page = page; this.getReader = Book_getReader; } function Book_getReader() { //.... } 上面的例子种, function Book_getReader()就成为了Book的一个名为getReader的method. call()和 apply()是Function object 的两个方法, 它们也可以使一个function作为另一个对象的method来调用用. call ()和apply()都需要参数, 而第一个参数就是调用对象, 也就是当function内部出现this时, this所指的对象. call()和 apply()的区别在于call()可以传递任意长度参数, 只要第一个参数时调用对象. 而apply只接受两个参数, 需要将除调用对象外的所有参数放入一个数组中. 即: function getBooksWithSameAuthor(form, to) { var name = this.author; var books = ... //get books written by name and from year "from"  to year "to" return books; } var abook = new Book("JavaScript is Cool", "tom", 514); var books = getBooksWithSameAuthor.call(abook, 1990, 2005); 或 var books = getBooksWithSameAuthor.apply(abook, [1990, 2005]); 当一个function不作为一个对象的method时, JavaScript会认为它是属于一个Globle Object对象的method, 这个 Globle Object在Browser中就是window类. 所以从这个角度来说, function和method又可以统一起来了. Function object  还有一个非常重要的property: prototype. 它是一个predefined的prototype object. 当一个 Function用作对象的constructor时, protptype property将发挥作用,中文翻译叫原型. JavaScript的新对象就是通过function的原型来建立的. 同时我们还可以利用prototype来动态的向对象中添加属性, 如: function Book (name, author, page) { this.name = name; this.author = author; this.page = page; } var abook = new Book("JavaScript is Cool", "tom", 514); Book.prototype.getInfo = getInfo; function getInfo() { return this.name + " written by " + this.author + " with " + this.page + " pages"; } alert(abook.getInfo()); 这里有一个例子, 用prototype方法来实现callback: Function.prototype.andThen=function(g) {   var f=this;   return function() {     f();g();   } }; function Manager() {   this.callback=function () {}; // do nothing   this.registerCallback=function(callbackFunction) {     this.callback=(this.callback).andThen(callbackFunction);   } } var manager=new Manager(); manager.registerCallback(sayHi); manager.registerCallback(sayBye); manager.callback(); 三. JavaScript中的OO JavaScript中的对象是一个属性和方法的集合. JavaScript也有对应于Java的Class和Instance的概念.我们可以把JavaScript中定义的 function(Function类的子类)看作是Class, 而利用这个function构造的对象看是Instance. 对应于Java的Instance Property, Instance Method, Class(static) property, Class Method, JavaScript都可以实现. 1. Instance Property Instance Property就是cuntructor function中定义的property, 对于每一个instance都会有一份copy. 2. Class property Class Property其实是cunstructor function作为对象本身所具有的属性(和Java不一样, Java中method不是数据, 更不是对象). 3. Instance Method Instance Method 是指属于某一对象的method, 方法内的this代表这个method从属的对象, 注意虽然是Instance Method, 并不是每一个 Instance都有一个此方法的copy, 所有Instance 共享一个method. 4. Class Method Class Method 同样可以理解为constructor function作为对象自己具有的方法, 和由这个constructor建立的对象没有直接联系. 所以 Class Method方法里使用this会产生混淆. 因为这个this指的不是期望操作的对象, 而是一个Function Object (constructor). 下面的例子定义了一个复数的对象, 包含有上述四种域, 值得仔细看看: /* * Complex.js: * This file defines a Complex class to represent complex numbers. * Recall that a complex number is the sum of a real number and an * imaginary number and that the imaginary number i is the * square root of -1. */ /* * The first step in defining a class is defining the constructor * function of the class. This constructor should initialize any * instance properties of the object. These are the essential * "state variables" that make each instance of the class different. */ function Complex(real, imaginary) {     this.x = real;       // The real part of the number     this.y = imaginary;  // The imaginary part of the number } /* * The second step in defining a class is defining its instance * methods (and possibly other properties) in the prototype object * of the constructor. Any properties defined in this object will * be inherited by all instances of the class. Note that instance * methods operate implicitly on the this keyword. For many methods, * no other arguments are needed. */ // Return the magnitude of a complex number. This is defined // as its distance from the origin (0,0) of the complex plane. Complex.prototype.magnitude = function(  ) {     return Math.sqrt(this.x*this.x + this.y*this.y); }; // Return a complex number that is the negative of this one. Complex.prototype.negative = function(  ) {     return new Complex(-this.x, -this.y); }; //  Convert a Complex object to a string in a useful way. //  This is invoked when a Complex object is used as a string. Complex.prototype.toString = function(  ) {     return "{" + this.x + "," + this.y + "}"; }; // Return the real portion of a complex number. This function // is invoked when a Complex object is treated as a primitive value. Complex.prototype.valueOf = function(  ) { return this.x; } /* * The third step in defining a class is to define class methods, * constants, and any needed class properties as properties of the * constructor function itself (instead of as properties of the * prototype object of the constructor). Note that class methods * do not use the this keyword: they operate only on their arguments. */ // Add two complex numbers and return the result. Complex.add = function (a, b) {     return new Complex(a.x + b.x, a.y + b.y); }; // Subtract one complex number from another. Complex.subtract = function (a, b) {     return new Complex(a.x - b.x, a.y - b.y); }; // Multiply two complex numbers and return the product. Complex.multiply = function(a, b) {     return new Complex(a.x * b.x - a.y * b.y,                        a.x * b.y + a.y * b.x); }; // Here are some useful predefined complex numbers. // They are defined as class properties, where they can be used as // "constants." (Note, though, that they are not actually read-only.) Complex.zero = new Complex(0,0); Complex.one = new Complex(1,0); Complex.i = new Complex(0,1); 四. 对象的继承 JavaScript有多种方式模拟继承. 1. 利用function: function superClass() {   this.bye = superBye;   this.hello = superHello; } function subClass() {   this.inheritFrom = superClass;   this.inheritFrom();   this.bye = subBye; } 或者: function subClass() {   superClass.call(this); } 先定义subClass的inheritFrom方法, 再调用这个方法(方法名称并不重要), 或者直接使用Function Object 的 call 方法将this做参数, 都可以模拟实现从superClass的继承. 注意调用superClass时的this指向. 这个方法就是在执行subClass的cunstructor function时, 先执行supperClass的cunstructor function.这个方法的缺点在于子类仅仅是在自己的构造函数中, 将this作为参数调用了父类的构造函数, 将构造函数赋予父类的所有域赋予子类. 所以, 任何父类在构造函数之外(通过prototype)定义的域, 子类都无法继承. 而且子类的构造函数一定要在定义自己的域之前调用父类的构造函数, 免得子类的定义被父类覆盖. 使用这种方法子类也尽量不要使用prototype来定义子类的域, 因为prototype的定义在子类new的之后就执行, 所以它一定会在调用父类构造函数前, 同样会有被父类的定义覆盖的危险. 2. 利用prototype: function superClass() {   this.bye = superBye;   this.hello = superHello; } function subClass() {   this.bye = subBye; } subClass.prototype = new superClass(); subClass.prototype.constructor = superClass; 这里将一个superClass的实例设置成subclass的原型:protytype, 由于new superClass实例一定会调用父类 prototype定义的所有域, 所以这种方法避免了上一种方法的一个问题, 父类可以通过prototype来描述域. 可以实现从 superClass的继承. 而这个方法也有缺点, 由于子类的peototype已经是父类的实例(Object实例), 不能再被实例化, 所以 new子类实例的时候, 父类的所有非基本数据类型(见JavaScript数据类型)都将是reference copy而非数据copy. 简单说就是所有的父类域在子类中虽然存在, 但看起来就像Java中的static域一样在子类间share.被一个子类改变, 所有子类都会改变. 注意这里的最后一句, 改变了子类prototype中的constructor属性. 它对子类使用没有影响, 仅仅是为了在调用instanceOf方法时它使得子类实例返回subClass. 3. Parasitic Inheritance (寄生继承) function superClass() {   this.bye = superBye;   this.hello = superHello; } function subClass() {   this.base = new supperClass();   base.sayBye = subBye;   return base; } 这种继承其实是一种扩展, 因为在调用instanceOf时, 子类会返回父类名称, 它的好处在于在构造函数继承的基础上解放了父类, 父类可以使用 prototype定义自己的域, 但是子类仍然不建议使用prototype, 以免被父类覆盖. 为了可以使子类的instanceof返回正确类型, 我们可以再改进一下: function subClass() {   this.base = new supperClass();   for ( var key in this.base ) {       if ( !this[key] ) {           this[key] = this.base[key];       }   }      this.sayBye = subBye; } 将所有的父类域拷贝给子类一份, 不再返回父类, instanceof子类实例时就可以返回正确类型. 五. this的用法 通常情况下, this代表的是前面提到的Globle Object.也就是Browser环境时的window Object. 当function作为某一对象的 method 时, this 代表这个 function 所属的 object. 下面这段代码有格错误, 涉及到this的使用: function Employee(a) {   this.name = a; } function init(){   John = Employee("Johnson");   alert(John.name); } 在init()中我们少了一个new keyword. 于是这个代码就会报错, 因为Browser把Employee当作是window obect的一个method, 里面的this指的就是window object. init()应该改为: function init(){   John = new Employee("Johnson");   alert(John.name); } 同时我们也可以将Employee的constructor函数修改, 防止类似的错误: function Employee(a) {   if (!(this instanceof Employee)) return new Employee(a);   this.name = a; } 这样,我们即使使用原来的init()方法, 也不会报错了. 六. Array in JavaScript Array和Object本质上是一样的, 只是Array需要由index来索引它其中的属性. index为>=0的整数. Array有一系列buildin的方法: 1. jion() 将array中的所有element以string的形式连在一起:   var a = [1,2,3];   s = a.join();      // s == "1,2,3"   s = a.join(": ");  // s == "1: 2: 3" 2. reverse() 将Array的element顺数颠倒   var a = [1,2,3];   a.reverse();   s = a.join(); // s == "3,2,1" 3. sort() 排序, 默认按字母顺序排序case sensitive, 可以自定义排序方式.   var a = [111,4,33,2];   a.sort();  // a == [111,2,33,4]   a.sort(function(a,b) { // a == [2,4,33,111]        return a-b;       // Returns < 0, 0, or > 0     }); 4. concat()连接多个Array   var a = [1,2,3];   a.concat(4,5);          // return [1,2,3,4,5]   a.concat([4,5]);        // return [1,2,3,4,5]   a.concat([4,5], [6,7])  // return [1,2,3,4,5,6,7]     a.concat(4,[5,[6,7]]);  // return [1,2,3,4,5,6,7] 5. slice() 返回Array的切片, 原Array不变.   var a = [1,2,3,4,5];   a.slice(0,3);    // Returns [1,2,3]   a.slice(3);      // Returns [4,5]   a.slice(1,-1);   // Returns [2,3,4], -1 means the last index of the array   a.slice(-3,-2);  // Returns [3], from the third last index to the second last index 6. splice 向一个Array中添加或删除element. 第一个参数表示位置, 第二个参数表示删除长度, 后面任意长的参数表示在1删除位置添加的elements.   var a = [1,2,3,4,5,6,7,8];   a.splice(4);    // Returns [5,6,7,8]; a is [1,2,3,4]   a.splice(1,2);  // Returns [2,3]; a is [1,4]   a.splice(1,1);  // Returns [4]; a is [1]   var a = [1,2,3,4,5];   a.splice(2,0,'a','b');  // Returns []; a is [1,2,'a','b',3,4,5]   a.splice(2,2,[1,2],3);  // Returns ['a','b']; a is [1,2,[1,2],3,3,4,5] 7. push() and pop() 向Array末尾添加或删除element 8. unshift() and shift() 向Array的开头添加或删除eleme
2008-1-15 13:01 红豆流年
nc开讲座吧
2008-1-15 13:05 ninegod
[quote]原帖由 [i]红豆流年[/i] 于 2008-1-15 13:01 发表 [url=http://bbs.bitnp.net/redirect.php?goto=findpost&pid=4899562&ptid=281959][img]http://bbs.bitnp.net/images/common/back.gif[/img][/url] nc开讲座吧 [/quote]
2008-1-17 15:48 透明de面具
NC决定了没?
2008-1-17 16:04 红豆流年
[quote]原帖由 [i]透明de面具[/i] 于 2008-1-17 15:48 发表 [url=http://bbs.bitnp.net/redirect.php?goto=findpost&pid=4900601&ptid=281959][img]http://bbs.bitnp.net/images/common/back.gif[/img][/url] NC决定了没? [/quote] 不是都签了吗...
2008-1-17 16:17 hyuga_neji
NC那PHP+C的还没处理好呢吧
2008-1-17 16:19 红豆流年
很php很C
2008-1-21 21:05 雪雨悦
嗯~不错~
2008-1-21 21:38 Forgether
很好 目前为止,我只懂一小部分
页: [1] Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.
Node.js v6.9.4:高性能服务器端JavaScript实践指南 Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript来编写服务器端应用程序。它的诞生,让JavaScript超越了浏览器的限制,成为一种能够处理服务器端逻辑的全栈语言。Node.js最核心的特性是其异步I/O处理和事件驱动模型,这使得Node.js在处理高并发场景,如实时应用和微服务架构时表现得非常出色。Node.js的这些特性与传统的同步阻塞式I/O模型形成鲜明对比,后者在高流量环境下容易造成资源浪费和性能瓶颈。 阅读详情

相关推荐

图自编码器(GAE)与变分图自编码器(VGAE)

在学习图自编码器之前先了解一下自编码器与变分自编码器。

小鱼的小窝 1万+

JavaScript初学入门(JS打印9*9乘法表,JS制作简易计算器)

目录 网页的三部分组成: Java和JavaScript的关系: JavaScript的三种使用方式: Js的5种输出方式: Js的语法初始: js中值的类型: JS中的运算符: JS中的流程控制语句----------------->>>简易计算器----->>>>打印9*9乘法表 JS中的函数(相当...

刘刘刘刘刘牛皮的博客 7509

永磁同步电机功率计算实战:从公式到避坑指南(附Excel计算模板)

本文详细解析永磁同步电机(PMSM)功率计算的实战技巧,涵盖三维参数体系、三相与单相系统差异、动态工况补偿及常见计算陷阱。特别提供Excel计算模板,帮助工程师快速准确完成功率计算,避免工业应用中的常见错误,提升工作效率。

x8y9z0的博客 807

【js初学】9*9乘法表,javascript

for (var i = 1; i for (var j = 1; j       document.write(i+'*'+j+'='+i*j+'  ‘);                        document.write'); }document.write(''); }

hhhhhhhhhy的博客 1559

从零到一:手把手教你用STM32F103C8T6打造个人专属开发板(附立创EDA工程与源码)

本文详细介绍了如何使用STM32F103C8T6微控制器从零开始设计和制作个人专属开发板。内容涵盖硬件选型、原理图设计、PCB布局、功能验证等全流程,并提供了立创EDA工程文件和源码,帮助开发者深入理解STM32开发板的硬件架构与设计要点。

weixin_26802933的博客 286

VSCode 远程开发:实现服务器图形化界面(GUI)的高效操作指南

本文详细介绍了如何通过VSCode远程开发实现服务器图形化界面(GUI)操作,包括X11转发原理、完整配置指南和实战测试。通过安装Xming、配置SSH连接和服务器端设置,开发者可以高效地在本地显示远程GUI应用,提升开发效率。

weixin_29245767的博客 294

JS 笔记9 认识JavaScript

由于大部分的浏览器默认的Script语言都是JavaScript,因此也可以省略这个属性,直接写<script></scrip>。有些旧版的浏览器无法支持JavaScript,因此我们必须为这些浏览器隐藏JavaScript程序代码,以避免不能识别JavaScript的浏览器将JavaScript源代码显示在网页上,从而破坏网页界面。JavaScript和HTML的整合是通过“事件处理(Event Handler)”完成的,也就是先对对象设置事件的函数,当事件发生时,指定的函数就会被驱动运行。

weixin_63492023的博客 1076

低功耗 AI 人体存在检测系统:智能照明与安防的高效解决方案

低功耗 AI 人体存在检测系统通过 “ESP32-C3 主控 + HX7110 AI 模块” 的硬件组合,搭配双重检测算法与深度睡眠机制,既解决了传统检测方案的误报问题,又满足了长时间低功耗运行需求。系统接线简单、代码可直接移植,可快速集成到智能照明、安防监控等物联网设备中,具备广泛的应用前景。

weixin_42300449的博客 226

JavaScript 基础 - 第9天

了解DOM节点的增删改查,掌握利用数据操作页面,完成移动端通讯录案例

八年大厂一线老程序员。现独立开发创业中,并且已经靠独立开发赚取人生第一桶金。 1450

手把手教你完成基于cnn的手写数字识别系统MATLAB语言

手写数字识别是经典的 CNN 分类应用之一,常用的数据集就是 MNIST 手写数字数据集,包含 0~9 这 10 个数字的手写图片,每个数字都由 6 万幅训练图像和 1 万幅测试图像构成。为了便于直观分析,这里选择 MATLAB 工具箱提供的 DigitDataset 进行训练识别,读者也可以直接利用 MNIST 数据集或者自己设计的数据集进行实验。其中,数据集文件夹 db 如图 所示。在数据集文件夹 db 里面对每个数字都建立了子文件夹,各自包含 1000 幅 28×28 大小的二维灰度图像。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1369

【科研数据获取】根据Excel表个中的企业/公司信息批量获取经纬度坐标,并进行地图可视化

批量获取企业/公司的经纬度坐标,并进行地图可视化1 需求2 实现途径3 需求逐步实现 1 需求 在做项目的时候,老板或者项目答辩时候甲方最喜欢看到的就是可视化结果,尤其是涉及到地图可视化。很多时候会遇到企业/公司的数据,想要做地图可视化,必不可少的就是要获取它们具体地址:第一种就是像查户口一样精准一下具体的城镇街道,还有一种就是经纬度信息,前一种属于文字内容往往用于管理方面,第二种数字信息多用于数据处理与分析。 2 实现途径 获取地理信息数据,自然需要使用到地图的功能,这里直接采用百度地图的拾取坐标系统,

lys_828的博客 2337

用JS打印9*9乘法口诀表

用JS打印9*9乘法口诀表

qq_45580938的博客 724

【从零开始学习 UVM】1.1、UVM 概述 —— Preface

【从零开始学习 UVM】1.1、UVM 概述 —— Preface

努力,加油每一天鸭~ 826

9个JavaScript库,让你早下班2小时

​JavaScript库是简化复杂任务、提高生产力并使开发者能够高效构建强大应用程序的不可或缺的工具。随着JavaScript生态系统的不断演变,新库不断涌现,现有库也在不断改进。JavaScript库是简化复杂任务、提高生产力并使开发者能够高效构建强大应用程序的不可或缺的工具。随着JavaScript生态系统的不断演变,新库不断涌现,现有库也在不断改进。在本文中,我们将探讨9个每个开发者在2024年都应该考虑使用的JavaScript库。

pantouyuchiyu的博客 1641

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

泛微E9 Ecology9-JS应用视教程

在数字化转型的背景下,泛微E9作为协同办公的领先产品,其二次开发能力,特别是JavaScript API的深度应用,已成为IT从业者的关键技能。《泛微E9Ecology9-JS应用进阶视频教程》提供了实战驱动的体系化学习路径,涵盖从DOM操作到通信协议的全栈技术,以及流程引擎事件监听、数据模型绑定和跨域接口调用等高级技术。掌握这些技能,将助力开发者在企业智能化转型中发挥核心技术作用。

qq_25484717的博客 506

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Day.js 1.8.9 发布,轻量级时间和日期 JavaScript 库

开发四年只会写业务代码,分布式高并发都不会还做程序员? >>> Day.js 1.8.9 发布了。该...

weixin_33810302的博客 117

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

[JavaScript盛宴]沪JS 2012 即将于9.14召开

沪JS 2012是一场为期三天的专注于JavaScript和Node.js的活动。本次活动别出心裁的结合了讲座(9/14、9/15)和hackathon(9/16)。这是一场纯粹由developer发起的developer的活动。我们已邀请了许多国内外知名的JavaScript专家来分享他们的热情与经验。这绝对是一场JavaScript爱好者的盛宴! 详情及最新动态请见官方主页:http://w

shyvo的专栏 4539

Duilib封装CEF_85.3.9实现与JS交互:C++与JavaScript的桥梁

Duilib封装CEF_85.3.9实现与JS交互:C++与JavaScript的桥梁 去发现同类优质开源项目:https://gitcode.com/ 在软件开发领域,跨语言交互一直是工程师们关注的焦点。本文将为您介绍一个开源项目——Duilib封装CEF_85.3.9实现与JS交互,它为C++与JavaScript之间的交互提供了一个高效、便捷的解决方案。 项目介绍 Duilib封装CEF_8...

gitblog_06737的博客 762

泛微E9 Ecology9-JS应用高级进阶视频教程

为了帮助开发者深入理解并掌握泛微E9 JS应用的开发技巧,我们精心制作了一套《泛微E9 Ecology9-JS应用高级进阶视频教程该教程内容详尽,涵盖了从基础到高阶的各类实用开发案例,帮助你迅速提升在泛微系统中的JS编程能力。通过本教程,你将深入了解如何优化流程、定制前端页面,以及高效集成第三方系统,实战性极强。内含 30 多个JS 高阶开发培训实例,助力技术进阶与知识积累。快速全方位掌握泛微E9 Ecology9-JS应用开发,提升你的技术与职业竞争力;

Wnina的博客 1076

JS利用for多重循环制作9*9乘法表

在JavaScript中,多重for循环作为比较复杂的循环程序,新手刚接触时总是有些难以理解,今天,我们对for循环做一个简单的分析介绍。 要想理解多重for循环,首先我们需要对单个for循环有基本的认识。 单个for循环 for循环和while循环的作用一样,区别就是二者在写法上的区别。由于for循环相对while循环在写法上比较集中,在实际工作中不容易出错。所以在复杂程序中我们一般都采用fo...

Lee_zz的博客 2590

傻眼了!看到js用DOM这种方式创建9*9乘法表

本博文源于js基础,今天学习dom节点。dom节点可以自己创造,这也会让一些html没有写的内容经过js一变,变得活灵活现。下面通过这个案例体会一下如何自己创建完整表格打印出9*9乘法表。可谓是body里空无一物呀。

执念斩长河 758

js面试找出数组中任意两个数相加起来得9的多种组合

<script> var searnmber=9;//想要找出的数 var s = [1, 5, 8, 10, 12] for (var i = 0; i < s.length - 1; i++) {//第一轮循环 for (var j = 0; j < s.length-1-i; j++) {//第二轮 if(s[j]+s[i]==searnmber){ console.log(s[j],

qq_41956361的博客 1613

javascript 9x9乘法口诀表

<style> div#table9x9{ box-sizing: border-box; border: 1px solid #666; border-top: none; border-right: none; display: inline-block; font-size: 14px; } ...

weixin_30873847的博客 360

【JS-9】——JavaScript包装类

说正则表达之前,我们再来补充一下包装类的相关对象 文章目录包装类String()Number()Boolean()之前的 包装类 我们之前说过,数据类型分为基本数据类型(String、Number、Boolean、Null、Undefined)和引用数据类型(Object)。 在JS中为我们提供了三个包装类,通过这三个包装类,可以将基本数据类型的数据转换为对象。 String() String(...

weixin_46351593的博客 239

JavaScript算法(实例二)9*9乘法表

为大家介绍两种实现9*9乘法表的JS算法,分别输出乘法表的正序和倒序排列。 for(i=1;i<=9;i++){ var a=" "; for(j=1;j<=i;j++){ a+=i+"*"+j+"="+i*j+(i*j<10?" ":" "); } console.log(a); } /* 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*

jingjing的博客 565

Phpcms V9内容编辑器支持JavaScript的设置方法

在Phpcms V9后台默认的内容编辑器中,出于完全考虑,默认是禁止JavaScript脚本的,所以我们在添加文章时,虽然加入了js代码,但实际上并没有起作用,而是以文本形式显示。于是就很多时候是需要修改这一限制,做到在文章内容页也能显示JS代码。 让内容页支持JavaScript,具体修改方法: 找到文件phpcms\modules\fields\content_input.class.ph...

weixin_30329623的博客 131
上一篇: js8
下一篇: za
XXStudy2007
博客等级 码龄19年 0粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值