js里的小问题

delete删除

1.delete可以删除对象属性

function obj(){
            name='hei';
        }
        var obj1=new obj();
        console.log(obj1.name);//hei
        delete obj.name;
        console.log(obj1.name);//undefined

2.变量刪除
直接用delete删除不了变量

var name='hei';
        delete name;
        console.log(name);//hei

3.删除不了原型链中的变量

obj.prototype.age=18;
        function obj(){
            name='hei';
        }
        var obj1=new obj();
        console.log(obj1.age);//18
        delete obj1.name;
        console.log(obj1.age);//18

delete只适用于删除对象属性,如果想要删除对象:

	var a={a:1}
    a=null;//即可删除对象
charCodeAt() 方法与charAt()方法

charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。.
方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串
charAt() 方法可返回指定位置的字符。
第一个字符位置为 0, 第二个字符位置为 1,以此类推

stringObject.charCodeAt(index)
index表示的是字符串的下标
注:字符串中第一个字符的下标是 0。如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。


var str="Hello world!"
document.write(str.charCodeAt(1))

结果是:101

var str = "HELLO WORLD";
var n = str.charAt(2)

结果是:L

toString()方法

toString()函数用于将当前对象以字符串的形式返回

都知道javascript的基本类型有五种,分别是Number、String、Undefined、null和Boolean;
内置对象有Array、Boolean、Object、Function(不要以为这不是内置对象)、Number、String等,接下来,咱们就讨论这几个内置对象的toString方法。

  1. Boolean值
<script type="text/javascript">
 
 var boo = new Boolean(true)
document.write(boo.toString())

</script>

true
2. Array
Array方法的toString方法,是将 Array 的每个元素转换为字符串,并将它们依次连接起来,两个元素之间用英文逗号作为分隔符进行拼接。

<script type="text/javascript">
    var a1 = ["tom", 23];
    a1.toString();//“tom,23"
    var a2 = [];
    a2.toString();//""
</script>

3.Object
返回”[object ObjectName]”,其中 ObjectName 是对象类型的名称。

<script type="text/javascript">
    function car() {
        wieght = 140,
            height = 100,
            brand = "baoma"
    }
    var boo = new car();
    document.write(boo.toString())
</script>

在这里插入图片描述
4.Function

<script>
function func() {
   console.log("I am a function");
}
func.toString();
输出:"function func() {
   console.log("I am a function");
}"
</script>

5.Number

<script>
var n1 = Number(10);
n1.toString();//默认10进制
n1.toString(2);//2进制
n1.toString(8);//8进制
输出:
"10"
"1010"
"12"
</script>

6.String
返回 String 对象的值。

<script>
var s = "I am a string";
s.toString();
输出:"I am a string"
</script>
对象之间的=赋的都是地址

基本类型按值引用,对象类型按地址引用

<script>
let a = {};
let b = a;
a.val = 1; // 此时 a → { val: 1 }, b → { val, 1 }
a = {}; // 此时 a → {}, b → { val, 1 }
</script>

1、在JS中,以上代码段中的a其实只是保存了一个内存中的地址,每次使用a的时候其实是通过地址去找到真正的{}
2、而将a赋值给b,其实就是将a保存的地址复制给b一份,然后调用b也会去找到和a相同地址的{}
a.val = 1就是将a地址指向的对象{}增加一个值为1的属性val
3、因为b保存的地址也指向同一个对象,所以看起来就像是b也在同步变化。其实b保存的地址并没有变化。
4、a = {}则将一个新的{}的地址赋值给了a,此时覆盖掉了原来保存的{ val: 1 }对象的地址,然而b所保存的地址仍然指向原来的{ val: 1 }

splice()与slice()

都会截取一段数据

  • slice(start,end)
    这个函数操作的是一个数组的副本,不会改变原有的数组
    从start开始截取到end但是不会包括end
    返回值为截取出来的元素的集合
<script>
var arr1 = [1,23,44,55,66,77,888,"fff"];
        var arr2 = arr1.slice(2,4) //从index为2截取到index为4之前不包括4
        console.log(arr2); //[44,55]
        console.log(arr1); // [1,23,44,55,66,77,888,"fff"]原始数组没有被改变
</script>
  • splice()
    有三个参数,会改变原来的数组
    splice(起始位置,要删除的项数,插入的项)
  1. 如果要删除的项数为0,则表示不删除元素,从start位置开始添加后面的几个元素到原始的数组里面
  2. 返回值为由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组
<script>
var colors=["red","orange","yellow","green"];
var inserted=colors.splice(1,0,"blue","purple");//第二个参数为0,代表的是插入,在索引位置1,就是orange之前插入"blue","purple"
alert(colors);//数组colors现在变为red,blue,purple,orange,yellow,green
alert(inserted);//inserted结果为空
</script>
<script>
var removed=colors.splice(1,2);//从数组colors索引位置1开始,删除2项,返回删除项中的的第一项
alert(colors);//数组colors现在变为red,green
alert(removed);//removed结果就是orange
</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值