<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!-- <input type="text" οnfοcus="fun()" οnblur="fun2()"> -->
<!-- 邮箱:<input type="text" id="email">
<span id="tip"></span> -->
</body>
<!-- <script>
// function box(){
// }
// box();//普通函数
// var b = new box();//构造函数
//this 构造函数里的this指向new出来的实例
function Box() {//类
console.log("里层", this);//b
}
var b = new Box();//实例化对象
console.log("外层", b);
// new 操作符 做了什么??
// 1.创建一个空对象
// 2.把构造函数里的this强制指向空对象
// 3.把this作为返回值返回
//我要通过这个Animal构造函数 创建小动物类
function Animal(x, y) {
this.name = x;
this.gender = y;
}
var dog = new Animal("狗蛋", "公");//实例化对象
// var cat = new Animal("猫蛋", "母");
// var cat = new Animal();
console.log(dog instanceof Animal);//检测某个实例是否从属于某个类
// 实例 instanceof 类
// console.log(dog);
// console.log(cat);
// 对象是由属性与方法构成的集合
</script> -->
<!-- <script>
//构造函数 字符串对象
// // var str = new String();
// var str = new String("hello");
// // str = "hello";
// console.log(str);
// console.log(str.length);//字符串长度[0,str.length-1]
// console.log(str[0]);
// console.log(str[1]);
// console.log(str[2]);
// console.log(str[3]);
// console.log(str[4]);
// var str = new String("hello");
// // str = "hello";
// console.log(str);
// console.log(str.length);//字符串长度[0,str.length-1]
// for (var i = 0; i < str.length; i++) {
// console.log(str[i]);
// }
// 如何随机输出字符串里的字符???
var str = new String("baize");
var i = Math.round(Math.random() * 5);
for (a = 0; a < str.length; a++) {
console.log(str[i]);
}
</script> -->
<!-- 字符串对象方法 -->
<!-- <script>
// onfocus 当input输入框获取焦点,执行一段 Javascript代码
//onblur 当离开input输入框,执行一段Javascript代码
var oIpt = document.getElementById("email");
var oSpan = document.getElementById("tip");
oIpt.onblur = function () {
var val = this.value;//输入框中的值
if (val.indexOf("@") === -1) {// value值不含有 @
oSpan.innerHTML = "请输入邮箱的正确格式";
oSpan.style.color = "red";
this.style.bordercolor = "red";
} else {
oSpan.innerHTML = "输入正确";
oSpan.style.color = "green";
this.style.bordercolor = "green";
}
}
// function fun() {
// console.log(1233);
// }
// function fun2() {
// console.log("输入框失去焦点了");
// }
</script> -->
<!-- <script>
// indexOf()
// indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
// 如果没有找到匹配的字符串则返回 - 1。
// string.indexOf(参数1, 参数2);
// 参数1: 必需。规定需检索的字符串值。
// 参数2: 可选的整数参数。规定在字符串中开始检索的位置。
// 它的合法取值是 0 到 string Object.length - 1。
// 如省略该参数,则将从字符串的首字符开始检索
var str = "Hello world";
var n = str.indexOf("l");//2
var str = "Hello world";
var n = str.indexOf("l", 5);//9
// var str = new String("I love javascript,love qiKU");
var str = "I love javascript,love qiKU"
// console.log(str.indexOf("love"));//从0开始查找子串love
// console.log(str.indexOf("love"));//从0开始查找子串love
//lastIndexOf()
//lastIndexOf() 返回字符串中子字符串最后出现的位置
//string.indexOf(参数1, 参数2);
// 返回 参数1 在此字符串中最后一次出现处的索引,
// 从 参数2 开始反向搜索,如果此字符串中没有这样的
// 字符,则返回 - 1。
// console.log(str.lastIndexOf("love"));
// console.log(str.lastIndexOf("love", 6));
// 查找某个子串 在整个字符串中最后一次出现的位置
// strObj.indexOf(参数1,参数2)
// 参数1:必需 要查找的子串
// 参数2:可选 开始查找的位置 若省略,从0开始查找
// 返回值:如果能查找到该子串,返回子串在整个字符串中第一次出现的位置,如果查找不到该子串,返回 -1
</script> -->
<!-- <script>
// var str = "I love javascript,I Love web.";
// var str2 = str.replace("love", "(❤ ω ❤)");
// var str2 = str.replace(/love/gi, "(❤ ω ❤)");//g:global 全局的 i:ignorecase
// console.log(str);
// console.log(str2);
var str = "I love you.";
var str2 = str.replace(/love/, "<img src='https://img2.baidu.com/it/u=3054079950,3426829154&fm=253&fmt=auto&app=138&f=JPEG?w=499&h=373'>");
document.write(str2)
</script> -->
<script>
// substr和substring
// stringObject.substr(start, length)
// substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符
// 返回值:
// 一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始
//的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。
// var str = "I love javascript.";
// console.log(str.substr(2, 4));// love
// console.log(str.substr(2));//love javascript.
// console.log(str.substr(-2));// t.
// console.log(str.substr(-7)); //script.
// stringObject.substring(startPos, stopPos)
// substring() 方法用于提取字符串中介于两个指定下标之间的字符。
// 返回值:
// 一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始
//的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。
// var str = "I love javascript.";
// console.log(str.substring(2));
// console.log(str.substring(2, 6));//love
// console.log(str.substring(6, 2));//love (自动进行位置交换,再执行)
//应用
// var strr = 'pic.jpg'
// console.log(strr.substr(-3));
// console.log(strr.substr(4, 3));
// console.log(strr.substring(4));
// console.log(strr.substring(4, 6));
//应用
// var stR = "user=dyz;gender=女;age=18";
// function getVat(name) {
// var i = stR.indexOf(name + '=');
// var start = i + name.length + 1;
// var end = stR.indexOf(';', i);
// if (end === -1) {
// end = stR.length
// }
// return name = stR.substring(start, end);
// }
// var s1 = getVat('user'), s2 = getVat('gender'), s3 = getVat('age');
// console.log(s1, s2, s3);
// strObj.slice(参数1,参数2)
// 参数1:必需 开始截取的位置 可以为负 - 1代表最后一个字符,-2代表倒数第二个字符,..
// 参数2:可选 结束截取的位置 可以为负 - 1代表最后一个字符,-2代表倒数第二个字符,..
// 返回值:截取的字符串
// 注意点:
// 1.截取时,包含开始位置,不包含结束位置,截取的长度 = 结束位置 - 开始位置
// 2.开始位置 >= 结束位置 截取的空串
//应用
// var str = "I love javascript.";
// console.log(str.slice(2));//截取到字符串末尾
//console.log(str.slice(-2));//截取到字符串末尾
// console.log(str.slice(2, 6));//包含开始位置 不包含结束位置
// console.log(str.slice(6, 2));//开始 < 结束
//console.log(str.slice(2, -4));
//JavaScript split() 方法
// 把一个字符串分割成字符串数组:
//应用
// var str = "I love javascript";
// console.log(str.split("l")); //使用一个字符作为分隔符:
// console.log(str.split(" "));//
// console.log(str.split(" ", 2));//分割两次
// console.log(str.split(""));//若想把每一个字符都进行分割,第一个参数写成空串
//charAt() 返回指定位置的字符。字符串中第一个字符的下标是 0。如
//果参数 index 不在 0 与 string.length - 1 之间,该方法将返回一个空字符串。
//charCodeAt() 返回一个整数,代表指定位置上字符的 Unicode 编码(返
//回值是 0 - 65535 之间的整数) 参数:必需。表示字符串中某个位置的数字,即
//字符在字符串中的下标。
var str = "I love javascript";
console.log(str[0]);
console.log(str.charAt(0));
console.log(str.charcodeAt(0));
//lstrobj.charAt(参数)
//参数:索引[0,strobj.length-1]
//返回值:索引对应的字符
// 更多字符串对象:https://www.runoob.com/jsref/jsref-obj-string.html
</script>
</html>