js对象字符串

article/2025/9/21 1:30:37

1. 基本包装类型

基本包装类型就是把简单数据类型包装成为复杂数据类型,这样基本数据类型就有了属性和方法。

var str = 'andy';
console.log(str.length);
//代码之所以能执行,是因为js会把基本数据类型包装为复杂数据类型,过程如下:
//1. 生成临时变量,把简单类型包装为复杂数据类型
var temp = new String('andy');
//2. 赋值给声明的字符变量
str = temp;
//3. 销毁临时变量
temp = null;

2. 字符串的不可变

指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。

var str = 'abc';
str = 'hello';
//当重新给str赋值的时候,常量'abc'不会被修改,依然在内存中
//重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变
//由于字符串的不可变,在大量拼接字符串的时候会有效率问题
var str = '';
for (var i = 0; i < 100000; i++) {str += i;
}
console.log(str); //结果需要花大量时间来显示,因为不断开辟新空间

3. 根据字符返回位置

字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串。

方法名说明
indexOf(‘要查找的字符’,开始的位置)返回指定内容在原字符串的位置,如果找不到就返回-1,开始的位置是index索引号
lastIndexOf()从后往前找,只找第一个匹配的
var str = '一个人的夜里,做人好难';
console.log(str.indexOf('人'); //2
console.log(str.indexOf('人',3)); //8
//某个字符出现的次数
var str = 'oabcoefoxyozzopp';
var index = str.indexOf('o');
var num = 0;
//console.log(index);
while (index !== -1) {console.log(index);num++;index = str.indexOf('o',index+1);
}
console.log('o出现的次数是:' + num);

4. 根据位置返回字符

方法名说明
charAt(index)返回指定位置的字符(index字符串的索引号) str.charAt(0)
charCodeAt(index)获取指定位置处字符的ASCll码(index索引号) str.charCodeAt(0)
str[index]获取指定位置处字符 HTML5,IE8+支持和charAt()等效
//1. charAt(index)
var str = 'andy';
console.log(str.charAt(3)); //y
//遍历字符
for (var i = 0; i < str.length; i++) {console.log(str.charAt(i));
}
//2. charCodeAt(index)
console.log(str.charCodeAt(0)); //97
//3. str[index] H5新增
console.log(str[0]); //a
//统计出现最多的字符和次数
var str = 'abcoefoxyozzopp';
var o = {};
for (var i = 0; i < str,length; i++) {var chars = str.charAt(i);if (o[chars]) {o[chars]++;} else {o[chars] = 1;}
}
console.log(o);
//遍历对象
var max = 0;
var ch = '';
for (var k in o) {// k 得到是 属性名//o[k] 得到是属性值if (o[k] > max) {max = o[k];ch = k;}
}
console.log(max);
console.log('最多的字符是' + ch);

在这里插入图片描述

5. 字符串操作方法

方法名说明
concat(str1,str2,str3…)concat()方法用于连接两个或多个字符串。拼接字符串,等效于+,+更常用
substr(start,length)从start位置开始(索引号),length取的个数
slice(start,end)从start位置开始,截取到end位置,end取不到(它们俩都是索引号)
substring(start,end)从start位置开始,截取到end位置,end取不到 基本和slice相同 但不接受负值
//1. concat('字符串1','字符串2'...)
var str = 'andy';
console.log(str.concat('red'));
//2. substr('截取的起始位置','截取就几个字符');
var str1 = '一个人的夜里';
console.log(str1.substr(2,2)); //第一个2 是索引号的2 从第几个开始 第二个2 是取几个字符

在这里插入图片描述

//3.替换字符 replace('被替换的字符','替换的字符') 只会替换第一个字符
var str = 'andyandy';
console.log(str.replace('a','b'));
//把'abcoefoxyozzopp'中的o替换为*
var str1 = 'abcoefoxyozzopp';
while (str1.indexOf('o') !==-1) {str1 = str1.replace('o','*');
}
console.log(str1);
//4. 字符转换为数组 splif('分隔符')
var str2 = 'red, pink, blue';
console.log(str2.split(','));
var str3 = 'red&pink&blue';
console.log(str3.split('&'));

在这里插入图片描述


http://chatgpt.dhexx.cn/article/4Xd9Y4CZ.shtml

相关文章

JS对象简介

JS对象含义&#xff1a;拥有属性和方法的数据 对象种类&#xff1a;Array,Boolean,Date,Math,Number,String,RegExp,全局属性和函数&#xff1b; 方法&#xff1a;toString 把布尔值转为字符串&#xff0c;并返回结果&#xff0c;对所有对象都具备 创建对象&#xff1a; var…

js对象继承

继承是面向对象编程中讨论最多的话题。很多面向对象语言都支持两种继承&#xff1a;接口继承和实现继承。前者只继承方法签名&#xff0c;后者继承实际的方法。接口继承在 ECMAScript 中是不可能的&#xff0c;因为函数没有签名。实现继承是 ECMAScript 唯一支持的继承方式&…

JS对象与jQuery对象

JS对象大致可以分为三种&#xff0c;如下图&#xff1a; JS常用内置对象&#xff08;JS自身所持有的对象&#xff0c;不需要创建&#xff0c;直接可用&#xff09;&#xff1a; String&#xff1a;API跟java的字符串API大致相同 两种创建对象的方式&#xff1a;String s1 &q…

前端之JS对象

前端之JS对象 1.对象基础对象的定义子命名空间访问内容用点表示法 和 括号表示法 设置对象成员更新数据创建新成员 "this"的含义document 对象 2.面向对象的程序&#xff08;OOP&#xff09;类继承多态构建函数和对象构建函数的规范写法 真正的构造函数创建对象的其他…

js对象基本知识

一&#xff1a;对象的声明与调用 方法1&#xff1a;利用对象字面量创建对象 var obj{}; 创建了一个空对象 属性和值之间用: 结尾用, :后面跟了一个匿名函数 var obj{name:"李旭亮",sex:"男",age:22,sayHi:function(){console.log(hello!);}}使用对象 调用…

JS 对象

一、对象 1、对象概念 对象&#xff08;object&#xff09;&#xff1a;JavaScript里的一种数据类型可以理解为是一种无序的数据集合用来描述某个事物&#xff0c;例如描述一个人  人有姓名、年龄、性别等信息、还有吃饭睡觉打代码等功能  如果用多个变量保存则比较散&am…

JS对象中常见的操作方法

本文内容&#xff1a; 介绍对象的两种类型创建对象并添加属性访问对象属性删除对象属性作为函数参数枚举对象的属性数据类型检测Object常用的API 一、JavaScript对象有两种类型 Native&#xff1a;在ECMAScript标准中定义和描述&#xff0c;包括JavaScript内置对象&#xff08;…

JS对象详解

JS对象详解 js的对象是什么&#xff1f;js的对象类型有哪些&#xff1f;具体实例是什么&#xff1f; 一、ECMA-262对JS对象的定义&#xff1a; 属性的无序集合&#xff0c;每个属性存放一个原始值、对象或函数&#xff1b; 对象是无特定顺序的值的数组&#xff1b; 对象是一…

初学JavaScript:js中的对象(对象+原型对象)

文章目录 js对象详解1、创建对象字面量模式创建对象构造函数模式创建对象 2、访问对象访问属性访问方法 3、遍历对象中的属性和属性值4、往对象中新添属性5、删除对象中的属性6、Object显示类型转换(强制类型转换)7、检查属性所属对象7.1 in7.2 Object.prototype.hasOwnPropert…

java testng_java—TestNG单元测试框架

//依赖坐标 org.testng testng 6.14.3 test TestNG的常用注解 1、Test 标记为测试方法 2、 BeforeMethod/AfterMethod 在某个测试方法(method)执行之前/结束之后 3、BeforeClass/AfterClass 在某个测试类(class)所有开始之前/结束之后 4、BeforeTest/AfterTest 在某个测试(test…

TestNG教程三:TestNG中的监听

TestNG中的监听 1.使用监听的目的&#xff1a; Testng虽然提供了不少强大的功能和灵活的选项&#xff0c;但不能解决所有的问题&#xff0c;使用监听器就是用来定制额外的功能以满足我们的需求的&#xff1b; 2.监听器具体实现&#xff1a; 监听器实际上是一些预定义的java接…

TestNG教程二:testNG常用测试类型

1.异常测试 package com.testngdemo; import org.testng.annotations.Test; public class test { Test(expectedExceptions ArithmeticException.class ) public void divisionWithException() { int i 1 / 0; System.out.println("After division the value of i is…

TestNg学习

TestNG是一个测试框架&#xff0c;可以简化广泛的测试需求。 建立工程 首先我们在idea中应该新建一个project&#xff0c;并选择“maven”&#xff0c;点击下一步&#xff08;如下图&#xff09; 填写groupId&#xff08;一般为包名&#xff09;和ArtifactId&#xff08;一般…

TestNG教程一:testNG简介

1.TestNG是什么? TestNG是一个测试框架&#xff0c;其灵感来自JUnit和NUnit&#xff0c;但引入了一些新的功能&#xff0c;使其功能更强大&#xff0c;使用更方便。 TestNG是一个开源自动化测试框架;TestNG表示下一代(Next Generation的首字母)。 TestNG类似于JUnit(特别是JU…

TestNG用法

【bak】https://www.cnblogs.com/uncleyong/p/15855473.html TestNG简介 单元测试框架&#xff0c;可以用来设计用例的执行流程 创建maven项目&#xff0c;添加依赖 <dependency><groupId>org.testng</groupId><artifactId>testng</artifactId>&…

testNG - 无法访问org.testng.Assert

【异常】无法访问org.testng.Assert 问题表现问题排查问题解决 问题表现 问题排查 报错的是无法访问Assert类&#xff0c;我琢磨着这个类是testNG中很常用的一个类&#xff0c;怎么会找不到&#xff1f; 先从项目的jar包中管理入手&#xff0c;看看有没有其他毛病。 果不其然…

TestNG-学习笔记

https://testng.org/doc/documentation-main.html TestNG概述 TestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use, such as: Annotations. Run your tests in arbitrar…

TestNG的使用

testng在maven项目中的使用 pom.xml <dependencies><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>7.4.0</version><scope>test</scope></dependency> </depend…

TestNG

1 TestNG简介 TestNG是Java中的一个测试框架&#xff0c;是一个目前很流行实用的单元测试框架&#xff0c;有完善的用例管理模块&#xff0c;配合Maven能够很方便管理依赖第三方插件。 TestNG消除了大部分的旧框架的限制&#xff0c;使开发人员能够编写更加灵活和强大的测试。…

TestNG自动化测试框架详解

TestNG 文章目录 TestNG一、概述与使用1.1 配置环境1.2 测试方法1.3 使用xml文件 二、测试方法常用注解2.1 配置类注解2.2 非配置类注解2.2.1 Parameters2.2.2 DataProvider 三、依赖测试四、忽略测试五、超时测试六、分组测试七、失败重试机制7.1 IRetryAnalyzer接口7.2 测试方…