js alert文字不能复制_Javascript 实现复制(Copy)动作大全

d9c295cd3db45924e6e065372493d98b.gif更多精彩,请点击上方蓝字关注我们!

119eee8f6773b621059a8cf0775699d0.png

1、实现点击按钮,复制文本框中的的内容

<script type="text/javascript">function copyUrl2(){
        var Url2=document.getElementById("biao1");    Url2.select(); // 选择对象    document.execCommand("Copy"); // 执行浏览器复制命令    alert("已复制好,可贴粘。");}script><textarea cols="20" rows="10" id="biao1">用户定义的代码区域textarea><input type="button" onClick="copyUrl2()" value="点击复制代码" />
原理:点击按钮的时候触发copyUrl2函数,根据biao1 ID选中对象,然后在根据execCommand复制选中内容,所以此时选择的内容必须是可视的,也就是说不能是隐藏的文本域。

2、复制专题地址和 url 地址,传给 QQ/MSN 上的好友

<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>Js复制代码title>head><body><p><input type="button" name="anniu1" onClick='copyToClipBoard()' value="复制专题地址和url地址,传给QQ/MSN上的好友"><script language&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你的第一个问题是关于JavaScript的深度复制和浅度复制。 在JavaScript中,对象和数组是通过引用来传递的。这意味着当你将一个对象或数组赋值给另一个变量时,它们实际上是指向同一个对象或数组的引用。如果你修改其中一个,另一个也会受到影响。 为了避免这种情况,我们需要进行深度复制或浅度复制。浅度复制只会复制对象或数组的引用,而深度复制复制整个对象或数组,包括嵌套的对象或数组。 在JavaScript中,浅度复制可以通过Object.assign()方法或spread操作符来完成。例如: ``` const obj1 = { name: 'John', age: 30 }; const obj2 = Object.assign({}, obj1); // or const obj3 = { ...obj1 }; ``` 这将创建一个新的对象,其中包含与原始对象相同的属性和值。但是,如果原始对象包含嵌套的对象或数组,它们将仍然是通过引用传递的。 深度复制可以通过递归遍历对象或数组来完成。例如: ``` function deepCopy(obj) { let copy; // Handle the 3 simple types, and null or undefined if (null == obj || "object" != typeof obj) return obj; // Handle Date if (obj instanceof Date) { copy = new Date(); copy.setTime(obj.getTime()); return copy; } // Handle Array if (obj instanceof Array) { copy = []; for (let i = 0, len = obj.length; i < len; i++) { copy[i] = deepCopy(obj[i]); } return copy; } // Handle Object if (obj instanceof Object) { copy = {}; for (let attr in obj) { if (obj.hasOwnProperty(attr)) copy[attr] = deepCopy(obj[attr]); } return copy; } throw new Error("Unable to copy obj! Its type isn't supported."); } ``` 这将递归遍历对象或数组,并复制它们及其嵌套的对象或数组。但是,这可能会影响性能,特别是在处理非常大的对象或数组时。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值