js截取字符串

JS 字符串转字节截取

人走茶凉 提交于 2019-12-02 04:45:47
/* * param str 要截取的字符串 * param L 要截取的字节长度,注意是字节不是字符,一个汉字两个字节 * return 截取后的字符串 */ function CutStr(str, L) { var result = '', strlen = str.length, // 字符串长度 chrlen = str.replace(/[^\x00-\xff]/g, '**').length; // 字节长度 if (chrlen <= L) { return str; } for (var i = 0, j = 0; i < strlen; i++) { var chr = str.charAt(i); if (/[\x00-\xff]/.test(chr)) { j++; // ascii码为0-255,一个字符就是一个字节的长度 } else { j += 2; // ascii码为0-255以外,一个字符就是两个字节的长度 } if (j <= L) { // 当加上当前字符以后,如果总字节长度小于等于L,则将当前字符真实的+在result后 result += chr; } else { // 反之则说明result已经是不拆分字符的情况下最接近L的值了,直接返回 return result; } } } 来源: https://www.cnblogs

JavaScript (六) js的基本语法 - - - Math 及 Date对象、String对象、Array对象

别等时光非礼了梦想. 提交于 2019-12-01 23:21:10
一、Math 1、Math对象的案例 var result= Math.max(10,20,30,40); console.log(result);//40 //例子:自己定义一个对象,实现系统的max的方法 function MyMath() { //添加了一个方法 this.getMax=function () { //所有数字中的最大值 var max=arguments[0]; for(var i=0;i<arguments.length;i++){ if(max<arguments[i]){ max=arguments[i]; } } return max; }; } //实例对象 var mt=new MyMath(); var result=mt.getMax(10,20,30,40,100,3); console.log(result);//100 2、Math 对象的案例: <style> div { width: 300px; height: 200px; background-color: pink; } </style> <script> //随机产生一个十六进制的颜色值 //封装成一个函数 console.log(parseInt(Math.random() * 5)); function getColor() { var str = "#"; /

js字符串方法练习----上

荒凉一梦 提交于 2019-12-01 22:17:58
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <script> // 1、封装函数 检查字符串结尾: 例如:输入confirmEnding("He has to give me a new name", "me")返回true function confirmEnding(str, strPart) { // 获取长度 var strLen = str.length, strPartLen = strPart.length; // 定义字符串从什么位置开始截取 var num = strLen - strPartLen; // 3种方法。slice()、substring()、substr() // if (strPart == str.slice(num)) { // return true; // } else { // return false; // } return

JS对象

☆樱花仙子☆ 提交于 2019-12-01 13:02:47
对象 为什么要有对象 function printPerson(name, age, sex....) { } // 函数的参数如果特别多的话,可以使用对象简化 function printPerson(person) { console.log(person.name); …… } 什么是对象 现实生活中:万物皆对象,对象是一个具体的事物,一个具体的事物就会有行为和特征。 举例: 一部车,一个手机 车是一类事物,门口停的那辆车才是对象 特征:红色、四个轮子 行为:驾驶、刹车 JavaScript中的对象 JavaScript中的对象其实就是生活中对象的一个抽象 JavaScript的对象是无序属性的集合。 其属性可以包含基本值、对象或函数。对象就是一组没有顺序的值。我们可以把JavaScript中的对象想象成键值对,其中值可以是数据和函数。 对象的行为和特征 特征---属性 行为---方法 事物的特征在对象中用属性来表示。 事物的行为在对象中用方法来表示。 对象字面量 字面量:11 'abc' true [] {}等 var o = { name: 'zs, age: 18, sex: true, sayHi: function () { console.log(this.name); } }; 思考: 如何把学生对象、老师对象、英雄对象改写成字面量的方式 对象创建方式

js字符串处理

99封情书 提交于 2019-12-01 10:16:27
JavaScript 字符串操作: 1.字符串合并操作:" +" 2.parselnt()将数字字符串转化为整数 3.parseFloat()将数字字符串转化为小数 4.split()把一个字符串分隔成字符串转化为小数 5.charAt()获取字符串中的某个字符 6.indexof()查找字符串是否含有某字符 7.substring()截取字符串用法:是否含有否字符 8.toUpperCase()字符串转大写 9.toLowerCase()字符串转小写 demo1示例: demo2示例: demo3示例: demo4示例: demo5示例: demo6示例: 来源: https://www.cnblogs.com/yingxiongguixing/p/11679852.html

ES6总结

眉间皱痕 提交于 2019-12-01 08:50:43
请看下面 1、 let关键字 ,let定义的变量只在它所在的块级作用域有用({}内有用),let不能在同一个作用域中重复定义,let没有声明提升 。 2、 const关键字 ,用于声明一个常量,一旦定义 就不能改变值 必须得有初始值 也就是常量只要定义就必须要赋值。 3、 解构赋值 ,一种新的变量赋值方式。常用于交换变量值,提取数据,用解构赋值保存 常问的有: ①数组的解构赋值:let a=10,b=20;[a,b]=[b,a] ==》交换变量 ②对象的解构赋值:(提取数据) let data={name:"xiaoming",age:18,sex:"nan"}; let {name,sex}=data; console.log(name,sex);//xiaoming nan ③字符串的解构赋值: let [d,e,f]="he"; console.log(d,e,f)//h e undefined ④当一个函数有多个返回值的时候 用解构赋值保存 function fun1(){ return [1,2]; } let [x,y]=fun1(); console.log(x,y)//1,2 4、 for...of遍历 es6中新增的循环 for-of for of循环 可以循环数组和类数组对象,可以直接拿到数组的每一项 也可以使用break和continue, 但是

JS对象常用扩展方法

只愿长相守 提交于 2019-11-30 15:47:51
string对象 1.去除空格和指定字符串等 /* * 以某字符串开头判断 *注意:参数str中如果包含正则通配字符,如"."请改参数为"\\." */ String.prototype.startWith = function (str) { var reg = new RegExp("^" + str); return reg.test(this); } /* * 以某字符串结尾判断 *注意:参数str中如果包含正则通配字符,如"."请改参数为"\\." */ String.prototype.endWith = function (str) { var reg = new RegExp(str + "$"); return reg.test(this); } /* *字符串去除两侧空格或指定字符 *注意:参数str中如果包含正则通配字符,如"."请改参数为"\\." */ String.prototype.trimAll = function (str) {//js1.8版本以上自带trim,这里改名强烈建议不重复构写方法 str = (str ? str : "\\s"); str = ("(" + str + ")"); var reg_trim = new RegExp("(^" + str + "*)|(" + str + "*$)", "g"); return

类型

浪尽此生 提交于 2019-11-30 12:51:46
基本类型:Undefined、Null、Boolean、String、Number、Symbol 引用类型:Object # 1. 基本类型和引用类型的区别 上面这张图片很好的解释了值传递和引用传递的区别。 # 1.1 不可变性 基本类型,在 ECMAScript 标准中,它们被定义为 primitive values ,即原始值,代表值本身是不可被改变的。 基本类型的值被直接存储在栈中,在变量定义时,栈就为其分配好了内存空间。由于栈中的内存空间的大小是固定的,那么注定了存储在栈中的变量就是不可变的。 以字符串为例,我们在调用操作字符串的方法时,没有任何方法是可以直接改变字符串的。对其修改也只是修改变量指向的值,而值的本身是不课改变的。 let str = 'str' str += '1' console.log(str); // str1 在上面的代码 str 是变量名, 'str' 则是一个 String 类型的值,通过 += 这个操作符会将一个新的 String 类型的值 'str1' 赋值给 str 这个变量。值本身是没有改变的。 引用类型的值实际存储在堆内存中,它在栈中只存储了一个固定长度的地址,这个地址指向堆内存中的值。因此引用类型的值是可以修改的。 # 1.2 复制 基本类型在复制的时候,会在栈中开辟一个新的内存空间来存储复制出来的值

前端复习之JavaScript(ECMAScript5)

試著忘記壹切 提交于 2019-11-29 22:27:56
啦啦啦啦啦啦啦啦绿绿绿绿绿绿 1 1.JavaScript: 2 前段三大语言:HTML CSS js 3 HTML:专门编写网页内容的语言 4 CSS:专门编写网页样式的语言 5 js:专门编写网页交互行为的语言 6 原生js:不需要下载任何第三方文件就可以直接使用的js 7 ECMAScript(ES):ECMA制定的JavaScript语言国际标准规定js语言的核心语法 8 JavaScript:NetScape遵照ES标准实现的自己的js语言 9 JScript:Microsoft遵照ES…… 10 DOM:专门操作网页内容的程序标准 11 BOM:专门操作浏览器窗口的程序 12 js语言四大特点: 13 1.运行在脚本解释引擎中:脚本解释引擎:专门解析js语言并执行的小软件 14 1.浏览器自带脚本解释引擎:内容排版引擎和脚本解释引擎 15 2.独立安装的脚本解释引擎:Node.js 16 2.边解释边执行,后解释的相同内容会覆盖先解释的 17 3.弱类型: 18 声明变量时,不必提前规定变量的数据类型,一个变量先后可保存不同类型的数据 19 4.基于对象:core 1.使用 1 1. 页面中的script标签里: 2 一旦进入script标签内,就要使用js的语法 3 问题: 不符合内容与行为分离的原则——不便于维护和共用 4 2. 独立的js文件中: 5 引入:

常用的js内置对象

老子叫甜甜 提交于 2019-11-29 19:17:30
js常见的内置对象 对象:属性方法的集合 内置 :js自己封装的对象 ,直接调用就行啦; Math(数学函数) Math. random() :获取一个0~1之间的随机数 var a = Math.random();console.log(a);//0.2992858434076544 Math. floor() 向下取整 (经常和随机数一起使用) var a = 1.999999999; a = Math.floor(a); console.log(a); // 1 Math. ceil() 向上取整 var a = 1.11111; a = Math.ceil(a); console.log(a); // 2 Math.round()四舍五入 var a = 1.51; a = Math.round(a); console.log(a); // 2 //-------------------------------------------------- var b = 1.49; b = Math.roend(b); console.log(b) //1 Math. abs() 绝对值 var a = -1.51; a = Math.abs(a); console.log(a); // 1.51 //---------------------------------------