【JS】String 字符串简解

news/2024/7/19 14:39:07 标签: js, 字符串, array, javascript

文章目录

创建字符串

  • 我们创建字符串也分为两种方法字面量构造函数
  • 两种方式创建的字符串,使用起来没有任何区别

1. 字面量创建(常用)

  • 语法:var str = 'hello';

2. 内置构造函数创建

  • 语法:var str = new Sting('hello');

操作字符串

1. 字符串长度

  • length属性:表示字符串的长度
  • 也就是字符串里面有多少个字符
  • 字符串里面的每一个空格都算一个字符
  • 设置 length 的数值无效
js">var str = 'hello world';
console.log(str.length);	// 11
str.length = 1;
console.log(str.length);	// 11

2. 字符串赋值

js">var str = 'abc'
str = str + 'd'
  • 给 str 设置为 'abc'
  • 'abc'+'d' 的结果从新赋值给了 str
  • 并不是在原数组'abc'上加的'd'的值
  • 而是形成一个新字符串'abcd'去覆盖旧字符串'abc'

3. 字符串索引

  • 字符串也是按照索引进行排列
  • 可以使用索引获取字符串中某一个字符
  • 字符串的索引只能获取不能设置,设置无效
js">var str = 'hello world';
console.log(str);	// hello world
console.log(str[3]);	// l
str[3] = "z";
console.log(str);	// hello world
console.log(str[3]);	// l

4. 字符串遍历

js">var str = 'hello world';
for(var i=0; i<str.length; i++){
	console.log(str[i]);
}
/*
h
e
l
l
o
 
w
o
r
l
d
*/

模板字符串【ES6】

js">var str = 'javascript';
var str2 = `javascript`;

console.log(str);	// javascript
console.log(str2);	// javascript

与普通字符串区别

js">var str = 'javas
cript';		// 报错
var str2 = `javas
cript`;		// javascript

var str3 = '<div><p></p></div>';
var str4 = 
`<div>
	<p></p>
</div>`;

js">// 定义一个变量
var age = 18;

// 普通字符串
var str = '我今年 age 岁了';
console.log(str);	// 我今年 age 岁了
var str4 = '我今年 ${age} 岁了';
console.log(str4);	// 我今年 age 岁了

// 模板字符串
var str2 = `我今年 age 岁了`;
console.log(str2);	// 我今年 age 岁了
var str3 = `我今年 ${age} 岁了`;
console.log(str3);	// 我今年 18 岁了
  • 模板字符串,IE低版本不支持,但是不影响书写

ASCII 字符集

  • 我们都知道,计算机只能存储0101010这样的二进制数字
  • 那么我们的a-z、A-Z、@…之类的内容也是由二进制数字组成的
  • 我们可以简单的理解为, a ~ z / A ~ Z / / @ /… 之类的内容都有一个自己的编号,然后在计算机存储的时候,是存储的这些编号,我们看的时候,也是通过这些编号在解析成我们要看到的内容给我们看到

ASCII 表

为什么要学习阿斯克码?

因为两个字符串也是可以比较大小的,比较的规则是逐字符进行比较,字符的大小由字符对应的阿斯克码决定


在这里插入图片描述

字符串比较

js">console.log('3'>'10');	// true
  • 代码分析
js">两个字符串进行比较的时候,是逐字符进行比较,
也就是字符"3"先和字符"1"进行比较,
如果第一个字符相等再进行第二个字符的比较。

从阿斯克码表中,可以找到字符"3"和字符"1"相对应的值,
很明显,字符"3"是要大于字符"1"的。
  • 总结规律
js">1. 字母比数字大
2. 小写字母比大写字母大
3. 字母越靠后越大

Unicode 编码【扩展】

  • 我们看到了,ASCII 只有这 128 个字符的编码结构
  • 但是因为 ASCII 出现的比较早,而且是美国发明的,早起时候这些内容就够用了
  • 因为存储一些英文的内容,传递一些英文的文章什么的都够用了
  • 那么对于这个世界来说肯定是不够用的
  • 因为我们的汉字没有办法存储,包括一些其他国家的语言也没有办法存储
  • 所以就出现了 unicode 编码,也叫(万国码,统一码)
  • unicode 对照表就是一个和 ASCII 一样的对照表,只不过变得很大很大,因为存储的内容特别的多
  • 而且包含了世界上大部分国家的文字,所以我们的文字和字符现在在存储的时候,都是按照 unicode 编码转换成数字进行存储
  • 我们的 UTF-8 就是一种 8 位的unicode字符集

http://www.niftyadmin.cn/n/509769.html

相关文章

【JS】Date 对象用法

文章目录Date 对象Data 方法getFullYeargetMonthgetDategetHoursgetMinutesgetSecondsgetDaygetTime时间差计算时间差获取时间差 now()Date 对象 Date 是 js 的一个内置对象&#xff0c;该对象存储日期和时间&#xff0c;并提供了日期/时间的管理方法 new Date()在不传递参数的…

SVG的形状元素

SVG的形状元素 矩形 圆形 椭圆 线 折线 多边形 路径 矩形 <svg xmlns"http://www.w3.org/2000/svg" version"1.1"><rect x"50" y"20" rx"20" ry"20" width"150" height"150" sty…

CSS_Column多列布局

文章目录CSS3 多列浏览器兼容多列属性column-countcolumn-gapcolumn-rulecolumn-spancolumn-widthBGU解决方法CSS3 多列 CSS3 可以将文本内容设计成像报纸一样的多列布局 浏览器兼容 多列属性 column-count column-count&#xff1a;指定了需要分割的列数 div {-webkit-co…

vue可调整大小和可拖动的组件---vue-draggable-resizable

vue-draggable-resizable 用于可调整大小和可拖动元素的组件、并支持组件之间的冲突检测和组件对齐。 使用流程&#xff1a; 安装依赖&#xff1a; npm install --save vue-draggable-resizable 注册组件(在main.js中添加下列代码)&#xff1a; import Vue from vue import Vue…

CSS3_多媒体查询

文章目录多媒体查询浏览器兼容多媒体查询语法多媒体查询简单实例多媒体类型webkit-overflow-scrolling多媒体查询 CSS3 的多媒体查询继承了 CSS2 多媒体类型的所有思想&#xff1a; 取代了查找设备的类型&#xff0c;CSS3 根据设置自适应显示。 媒体查询可用于检测很多事情&a…

vue组件传值、通信

vue组件传值、通信 父组件--------》子组件 属性 // parent <HelloWorld msg"Welcome to Your Vue.js App"/>// child props: { msg: String } 引用refs // parent <HelloWorld ref"hw"/>修改子组件的值 this.$refs.hw.xx xxx 子组件chidren …

CSS_浏览器兼容常见BUG

一、概述 CSS Bug: CSS样式在各浏览器中解析不一致的情况&#xff0c;或者说CSS样式在浏览器中不能正确显示的问题称为CSS bug.CSS Hack: CSS中&#xff0c;Hack是指一种兼容CSS在不同浏览器中正确显示的技巧方法&#xff0c;因为它们都属于个人对CSS代码的非官方的修改&#…

vue手写el-form组件

index.vue <template><div><s-form :model"model" :rules"rules" ref"loginForm"><s-form-item label"用户名" prop"username"><s-input v-model"model.username"></s-input>…