js

三,JS强制类型转换

醉酒当歌 提交于 2020-01-23 07:33:49
强制类型转换 JS数据类型有6种,其中String,Number,Boolean,Null,Undefined 5个基本数据类型,Object是引用数据类型。 强制类型转换:将一个数据类型强制转换为其他数据类型,类型转换主要是指:将其他的数据类型转换为: String,Number,Boolean 一,将其它数据类型转换成String 方法一: X.toString();不会影响到原变量,它会将转换的结果返回 但是null undefined没有toString()方法 方法二: 调用String()函数 ,并将被转换的数据作为参数传递给函数;使用String()函数强制类型转换,对于Number和Boolean实际上就是调用toString()方法;对于Null和Undefined就不会调用toString(),将null转换为“null”将Undefined转换为“Undefined” 二,将其它数据类型转换为Number 方法一:Number()函数 1.如果是 纯数字的字符串则直接转换为数字 2.如果字符串中有非数字的内容,则转换为数字NaN 3.如果字符串是空或一个全是空格的字符串则转换为0 4.布尔值true转数字1 false转数字0 5.Null转换成数字0 6.Undefined转换为数字NaN 方法二:(专门用来转换字符串)parseInt(

js计时器方法的使用

耗尽温柔 提交于 2020-01-23 06:03:22
js中计时器重要使用window.setInterval()方法和window.setTimeout()方法, 其中setInterval()方法的作用是每隔一段时间执行一次方法,而window.setTimeout()在一段时间内调用函数。 setTimeout()方法一般通过调用自身迭代的方式实现计时器。与这两个方法对应的,还有清除这两个函数效果的 两个方法,分别是window.clearInterval()和window.clearTimeout()。 1.setInterval()和clearInterval() (window可以省略) (1)setInterval()方法常用的语法如下: setInterval(function,interval); 其中function是将要在间隔时间内执行的函数,interval是间隔的时间,单位是毫秒。 (2)clearInterval()方法的常用语法如下: timer = setInterval(function,interval); clearInterval(timer); 例子: 1 <html> 2 <head></head> 3 <body> 4 <p id="timer">点击开始计时!</p> 5 <div> 6 <button id="cutTimer" onclick="start()">开始</button

js 实现表格的可编辑状态

自古美人都是妖i 提交于 2020-01-23 05:21:28
<table border="0" style="width:200px;margin:30px auto"> <tr><td>1</td><td>2</td><td><!-- <input type="button" value="编辑"> --><img src="edit.png" class="edit"></td></tr> <tr><td>1</td><td>2</td><td><!-- <input type="button" value="编辑"> --><img src="edit.png" class="edit"></td></tr> <tr><td>1</td><td>2</td><td><!-- <input type="button" value="编辑"> --><img src="edit.png" class="edit"></td></tr> <tr><td>1</td><td>2</td><td><!-- <input type="button" value="编辑"> --><img src="edit.png" class="edit"></td></tr> <tr><td>1</td><td>2</td><td><!-- <input type="button" value="编辑"> --><img src="edit.png"

Js选择器总结

醉酒当歌 提交于 2020-01-23 04:47:18
一、原生JS选择器 JS选择器常用的有getElementById()、getElementsByName()、getElementsByTagName()、getElementsByClassName()、querySelector()、querySelectorAll() A: getElementById(ID): 返回对指定ID的第一个对象的引用,如果在文档中查找一个特定的元素,最有效的方法是getElementById() B: getElementsByName(name): 返回文档中name属性为name值的元素,因为name属性值不是唯一的,所以查询到的结果有可能返回的是一个数组,而不是一个元素。 C: getElementsByTagName(tagname): 返回文档中指定标签的元素 D: getElementsByClassName():返回文档中所有指定类名的元素 E: querySelector():返回文档中匹配指定css选择器的第一个元素 F: querySelectorAll():返回文档中匹配指定css选择器的第一个元素 二、jQuery选择器 内容 基本选择器有ID选择器、类选择器、标签选择器、通用选择器,事件的添加方法如下: $(...).事件名(function() { }); 属性样式有: $(...).css("border",

Js选择器总结

╄→гoц情女王★ 提交于 2020-01-23 04:46:46
一、原生JS选择器 # JS选择器常用的有getElementById()、getElementsByName()、getElementsByTagName()、getElementsByClassName()、querySelector()、querySelectorAll() A: getElementById(ID): 返回对指定ID的第一个对象的引用,如果在文档中查找一个特定的元素,最有效的方法是getElementById() B: getElementsByName(name): 返回文档中name属性为name值的元素,因为name属性值不是唯一的,所以查询到的结果有可能返回的是一个数组,而不是一个元素。 C: getElementsByTagName(tagname): 返回文档中指定标签的元素 D: getElementsByClassName():返回文档中所有指定类名的元素 E: querySelector():返回文档中匹配指定css选择器的第一个元素 F: querySelectorAll():返回文档中匹配指定css选择器的第一个元素 二、jQuery选择器 # 内容 基本选择器有ID选择器、类选择器、标签选择器、通用选择器,事件的添加方法如下: $(...).事件名(function() { }); 属性样式有: $(...).css("border"

JavaScript学习笔记(五)js技巧

浪尽此生 提交于 2020-01-23 03:33:04
1. 安全的类型检测 Object.prototype.toString.call(value) // '[object Array]' 2.作用域安全的构造函数 function Person(name) { if (this instanceof Person) { this.name = name } else { return new Person(name) } } 继承 function Polygon(sides) { if (this instanceof Polygon) { this.sides = sides this.getArea = function() { return 0 } } else { return new Polygon(sides) } } function Rectangle(width, height) { Polygon.call(this, 2) //这里只是简单用Polygon给this添加一些属性而已的操作 this.width = width this.height = height this.getArea = function() { return this.width * this.height } } Rectangle.prototype = new Polygon() //

js高级技巧之高级定时器

天大地大妈咪最大 提交于 2020-01-23 03:30:03
实际上,浏览器负责进行排序,指派某段代码在某个时间点运行的优先级。 可以吧js想象成在时间线上运行的。 JavaScript中没有任何代码是立刻执行的,但一旦进程空闲则尽快执行。 1.重复的定时器: setInterval()的重复定时器存在两个缺点: (1)某些间隔会被跳过 (2)多个定时器的代码执行之间的间隔可能比预期的小; 假设,某个onclick事件处理程序使用setInterval()设置了一个200ms间隔的重复定时器。如果事件处理程序花了300ms多一点的时间完成,同时定时器代码也花了差不多的时间,就会同时出现跳过间隔且连续运行定时器代码的情况。 为了避免这个缺点,可以使用链式setTimeout()调用。 setTimeout(function() { setTimeout(arguments.callee, interval); },interval) callee是arguments的一个属性,指的是对函数对象本身的引用。 2.Yielding Processes 运行在浏览器中的JavaScript都被分配了一个确定数量的资源。 脚本长时间运行的问题通常是由两个原因之一造成的: (1)过长的、过深嵌套的函数调用。 (2)进行大量处理的循环。 for (var i = 0,len=data.length; i < len; i++) { process(data

[问题探讨]js一键复制功能

荒凉一梦 提交于 2020-01-23 01:12:18
需求:js一键复制指定元素内容 实现: 1,commonFunc.js function copyText(selector) { return new Promise((resolve, reject) => { // 获取需要copy的内容 const copyItem = document.querySelector(selector) // 创建input const input = document.createElement('input') input.type = 'text' input.style.position = 'fixed' input.style.top = '100vh' document.body.appendChild(input) // 给你input赋值 input.value = copyItem.innerText // 选中input文本 input.select() // 执行复制命令 document.execCommand('copy') // 移除dom input.remove() resolve('复制成功!') }) } const commonFunc = { copyText } export default commonFunc 2,组件内使用 // 通用功能 import commonFunc from '@

反编译js的收获

谁说胖子不能爱 提交于 2020-01-23 01:09:57
最初只是加载一个谷歌插件试试别人的产品,随着深入的了解, 发现其在temp缓存目录生成了一些html+css+js等文件。 插件加载使用的时候,调用了debugger,阻止用户调试。 禁止断点: 而对应的操作是在 Chrome控制台 的 Source Tab页 点击 Deactivate breakpoints 按钮或者按下 Ctrl + f8 代码加密过了,读不懂,试着找找有没有解密方法。 根据代码关键字,找打到了一些相关资料: 1.某JS最牛加密脱壳解密破解去混淆工具。 2.记录一次 JS 解密去混淆的经历 -- 如何破解加密的 JS 代码(一) 3.JS 不可逆加密后半部分,去混淆还原代码。 4. https://www.sojson.com/jsobfuscator.html 起初用别人现成的解码代码试了试,简单几句js加密的可以解密,复杂的就不行了。 然后解读了大牛的记录,还是有不少地方值得学习借鉴。 其中有一段代码: })(qs_base_data, 202); 而大牛后来用的是:})(qs_base_data, 203);加了个一 我手上的代码是:}(qs_base_data , 0x1df));//0x1df=》479,但是这个位置要+1用480才能正确解密 其中一些 qs_base_data["push"] 替换为 qs_base_data.push :

用js写的自动完成功能AutoComplete

夙愿已清 提交于 2020-01-23 00:35:38
QQ上一个朋友让我帮忙用JS写一个自动完成的功能,类似ajax toolkit里面的autocomplete控件一样,可以象google的自动搜索一样。 http://www.asp.net/AJAX/Control-Toolkit/Live/AutoComplete/AutoComplete.aspx 但是又不愿意为了这一个控件而安装整个大包,给项目部署带来麻烦。 想想用js做起来也不难,我的想法是在input text的后面放一个div,然后把自动完成的一些数据放到div的table 中,然后通过正则表达式进行筛选,来达到过滤显示的效果,这样缺点是如果自动完成项目很多的话,最后生成的页面html代码会很长,不过对于简单的应用来说应该是够用了。有其他更好的方法可以讨论一下。 代码如下: < script type = " text/javascript " language = " javascript " > function onTD(obj) { obj.bgColor = ' #00ff00 ' ; } function outTD(obj) { obj.bgColor = ' #ffffff ' ; } function ShowDropDown(divName,inputText) { var div1 = document.getElementById