js

版本号比较函数-js

守給你的承諾、 提交于 2020-01-24 05:38:19
面试前,让做的一个版本号比较函数。 1 <script type="text/javascript"> 2 var v1=prompt("请输入第一个版本号"); 3 var v2=prompt("请输入第二个版本号"); 4 console.log(versionCompare(v1,v2)); 5 function versionCompare(v1,v2) { 6 //版本号间如果出现字母,则视为测试版本,不比较字母大小,字母只出现一次 7 v1=v1.replace(/\s/g,"");//去除空格 8 v2=v2.replace(/\s/g,""); 9 if(v1[0]=="v"||v1[0]=="V"){v1=v1.replace(/v/i,"");}//去除开头的第一个v 10 if(v2[0]=="v"||v2[0]=="V"){v2=v2.replace(/v/i,"");} 11 if(v1[0]=="."){v1=v1.replace(/./i,"");}//去除开头的. 12 if(v2[0]=="."){v2=v2.replace(/./i,"");} 13 if(v1[v1.length-1]=="."){v1=v1.slice(0,v1.length-1)};//去除末尾的. 14 if(v2[v2.length-1]=="."){v2=v2

初学JS,遇到Can not read propoty of ‘removeAttributes’ is null

帅比萌擦擦* 提交于 2020-01-24 04:43:26
初学JS,遇到Can not read propoty ‘removeAttributes’ of null 查询了很多大佬们的解答,甚至从stack overflow上也找过答案,大佬们从原理上进行解答,但经过尝试,都没有解决我的实际问题,后来仔细检查过代码后发现,是html中的名字与js中获取的名字没有对上,改后,解决问题。 后来想想,这种粗心的问题,真的。。。摔鼠标吧。。。手动[滑稽] 来源: CSDN 作者: 寒鸦愁却柳绿柔 链接: https://blog.csdn.net/zlsjune123/article/details/103949884

JS 基础篇(原型和继承)

可紊 提交于 2020-01-24 02:55:44
原型主要是用来存公共属性和方法 function Animal ( ) { } var a = new Animal ( ) a . _prop_ = Animal . prototype //对象的_prop_指向函数对象的原型 a . constructor = Animal //对象的构造函数指向函数对象 //a即为Animal的实例也为Animal.prototype的实例 原型继承 function Animal ( category ) { this . category = 'Animal' ; this . testrr = [ '松鼠' , '小狗' ] ; this . sleep = function ( ) { console . log ( '我是sleep' ) ; } } Animal . prototype . run = function ( ) { console . log ( 'hhhh' ) ; } function Dog ( name ) { this . name = name ; this . type = 'dog' ; } Dog . prototype = new Animal ( ) ; Dog . prototype . speak = function ( ) { console . log ( 'speak' ) ;

three.js学习

我只是一个虾纸丫 提交于 2020-01-24 02:08:24
一个新的领域。 demo1: <!DOCTYPE html> <html> <head> <title></title> <style>canvas { width: 100%; height: 100% }</style> <script src="js/three.js"></script> </head> <body> <script> var scene = new THREE.Scene();//场景 var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);//相机 var renderer = new THREE.WebGLRenderer();//渲染器 renderer.setSize(window.innerWidth, window.innerHeight);//渲染器宽高 document.body.appendChild(renderer.domElement);//将渲染器加入文档中 var geometry = new THREE.CubeGeometry(1,1,1);//创建物体 var material = new THREE.MeshBasicMaterial({color: 0xffff00});//创建物体

使用 JS 来动态操作 css ,你知道几种方法?

匆匆过客 提交于 2020-01-24 00:59:57
个人专栏 ES6 深入浅出已上线,深入ES6 ,通过案例学习掌握 ES6 中新特性一些使用技巧及原理,持续更新中,←点击可订阅。 点赞再看,养成习惯 本文 GitHub https://github.com/qq44924588... 上已经收录,更多往期高赞文章的分类,也整理了很多我的文档,和教程资料。欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 JavaScript 可以说是交互之王,它作为脚本语言加上许多 Web Api 进一步扩展了它的特性集,更加丰富界面交互的可操作性。这类 API 的例子包括 WebGL API 、 Canvas API 、 DOM API ,还有一组不太为人所知的 CSS API 。 由于 JSX 和无数 JS框架 的出现,使通过 JS API 与 DOM 交互的想法真正流行起来,但是在 CSS 中使用类似技术似乎并没有很多。 当然,存在像 CSS-in-JS 这类解决方案,但是最流行的解决方案还是基于 转译 (transpilation),无需额外运行即可生成 CSS。 这肯定对性能有好处,因为 CSS API 的使用可能导致额外的重绘,这与 DOM API 的使用一样。 但这不是咱们想要的。 如果哪天公司要求咱们,既要操纵 DOM 元素的样式和 CSS 类,还要像使用 HTML 一样使用 JS 创建完整的样式表,该怎么办?

小例子-使用JS/JQ获取a标签的href网址

放肆的年华 提交于 2020-01-23 23:35:53
最初的想法只是想要添加一个点击事件就可以跳到设定的窗口。 本身就是把window.location.href = href添加进事件里面就可以解决了。后面自己把自己搞糊涂了。 这里主要是说使用JS和JQ获取a标签的href网址,使用比较简单,基本就是拿来用就可以了。 先看看html部分的代码 <div> <a id="demo" href="https://www.baidu.com"></a> </div> <p id="p">点击跳转到百度</p> 我把a标签嵌套在div里面,之后通过点击事件点击p标签“跳转到百度”这个按钮来获取href,之后通过新窗口打开百度网址,进入百度。 以下是使用到的JS代码和JQ代码 // 使用Js获取 document.querySelector('#p').onclick = function () { var ahref = document.querySelector('#demo'); window.open(ahref);//在新窗口打开 window.location.href = ahref;//在原来窗口打开 } // 使用JQ获取 $('#p').click(function () { var hreF = $(this).prev().find('#demo').attr('href'); window.open(hreF);/

js中的4种循环结构

て烟熏妆下的殇ゞ 提交于 2020-01-23 22:28:01
js有4种循环结构: 1.for循环 ==》多次遍历代码块 2.for / in循环==》遍历对象属性 3.while循环==》当指定条件为true时,循环代码块 4.do while循环==》当指定条件为true时,循环代码块 for循环 一般都有特定的计数器变量。操作计数器的三个重要步骤为:初始化、检测、更新 语句1的作用是将变量初始化; 语句2的作用是在每次循环前都要检测变量的值是否在某一个范围内; 语句3的作用是更新计数器变量:每次循环后进行自增或者自减操作 for(语句1;语句2;语句3){ 被执行的代码块 }   简单的for循环,循环执行一次时会改变一个变量的值   举例子说明:输出1到10的值; for(var num=1; num<=10; num++){//再循环开始时设置了一个变量num=1;//定义运行循环的条件num<=10;//每个循环执行后,变量增加1 console.log(num); }   复杂的for循环,循环执行一次时,会改变多个变量,这种情况下需要结合逗号来使用   举例说明,输出1*9+2*8+3*7+4*6+5*5+6*4+7*3+8*2+9*1的值 var i, j; for(i = 0, j =10; i<10; i++, j--){ sum += i * j; }console.log(sum);   for / in循环

js parseInt第二个参数

孤街醉人 提交于 2020-01-23 19:33:51
//2表示按二进制进行转换 parseInt ( '1011' , 2 ) ; //11 //8表示按八进制进行转换 parseInt ( '77' , 8 ) ; //63 //都是转成10进制整数 八进制->十进制 console. log ( parseInt ( '5377' ,8 ) ) ; //5 * 8^3 + 3 * 8^2 + 7 * 8^1 + 7 * 8^0 来源: CSDN 作者: 李当心、 链接: https://blog.csdn.net/weixin_43978427/article/details/103991077

web前端入门到实战:JS基础-语法+流程控制语句+函数+内置对象【数组】

喜你入骨 提交于 2020-01-23 19:19:05
JS语法: Javascript基本数据类型:undefined/null/Boolean/number/string 复杂数据类型:object typeof用来检测变量的数据类型 typeof的使用方法有两种: (1)typeof 变量 (2) typeof(变量) undefined派生自null,所以undefined==null返回的结果是true 用于任何数据类型,Number()可以将非数值转化为数值,但是有一些数据是不能转化为数值的,如果这类数据通过Number()进行强制转化的话,会返回NaN var a=Number(name_01); 用于把字符串转换为数值 var b=parseInt("28px") var d=parseFloat("12.34.56px"); 不知道值是不是null或者undefined,可以使用String(),可以将任何类型的值转为字符串 var idstr=ids.toString(); console.log(String(m)); 在运算中,除了加法,其余的运算都会将字符串先转换为数字之后再进行计算,但是两个数据相加,如果有一方是字符串的话,加号的作用就是将他们进行拼接 如: 数字5和字符串"5"进行加减乘除运算,结果分别是:55 0 25 1 &&逻辑与: 如果第一个操作数隐式转换后为true,则返回第二个操作数;

js将数字转换成中文

半腔热情 提交于 2020-01-23 19:08:51
var _change = { ary0:["零", "一", "二", "三", "四", "五", "六", "七", "八", "九"], ary1:["", "十", "百", "千"], ary2:["", "万", "亿", "兆"], init:function (name) { this.name = name; }, strrev:function () { var ary = [] for (var i = this.name.length; i >= 0; i--) { ary.push(this.name[i]) } return ary.join(""); }, //倒转字符串。 pri_ary:function () { var $this = this var ary = this.strrev(); var zero = "" var newary = "" var i4 = -1 for (var i = 0; i < ary.length; i++) { if (i % 4 == 0) { //首先判断万级单位,每隔四个字符就让万级单位数组索引号递增 i4++; newary = this.ary2[i4] + newary; //将万级单位存入该字符的读法中去,它肯定是放在当前字符读法的末尾,所以首先将它叠加入$r中, zero = ""; /