千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip

//json对象:将若干繁杂属性封装成一个整体的容器,通过该容器对象对所有分量进行读写操作.
//1.json对象的定义:由{},括起来的键值对集合
//key1:value1,每两个键值对间用逗号隔开
//注意事项:json对象的key必须用双引号括起来
var stu = {
"name":"ikun",
"age":23,
"score":100,
"sing":function(){
console.log("唱");
},
"rap":function(){
console.log("rap");
}
}
// 2.json对象属性的访问
// a.点->分量运算符
// 对象名.属性名
// stu.name = "泰裤辣";
// console.log(stu.name,stu.age,stu.score);
// stu.sing();
//b.下标法
// 对象名[索引]
// console.log(stu["name"]);
// var str = "age";
// console.log(stu[str]);
// 3.添加自定义属性
// 对象名.新属性名 = 属性值
// stu.gender = 'M';
// 4.json的遍历
// for...in用来遍历容器的索引--->特指json(数组也可以)
// for(var key in 容器){
// 每次循环的过程中,key代表本次元素的索引(即对象内键值对的键名)
// }
for(var index in stu){
// console.log(index);
console.log(stu[index]);
}
// ----------------------------------------------
//严格模式:强行要求用户使用的变量必须定义
// 严格模式用:"use strict"修饰作用域
// 注意:严格模式无法解决在变量使用之后再声明的问题,如下:
// "use strict";
// a = 123;
// var a;
// -----------------------------------------------
// indexOf
// 功能:查找元素是否在数组中首次出现
// 参数:indexOf(目标元素)
// 返回值:找到返回下标,找不到返回-1
// var arr = [5,6,7,4,8,9,3,0];
// console.log(arr.indexOf(18));
// lastIndexOf 查找字符串最后一次出现的位置 如果没找到 返回-1
// 数组去重
var arr = [5,6,5,5,6,6,1,7,7,8,9,4,8,9,3,0];
// 去重第一种方法:
// var arr1 = [];
// for(var i=0; i<arr.length; i++){
// if(arr1.indexOf(arr[i]) == -1){
// arr1.push(arr[i]);
// }
// }
// 去重第二种方法
// for(var i = 0;i<arr.length-1;i++){
// for(var j = (i+1);j<arr.length;j++){
// if(arr[i] == arr[j]){
// arr.splice(j,1);
// j--;
// }
// }
// }
// console.log(arr);
// -------------------------------------------
//上下文环境:在别人的函数体内,需要调用自己的函数
//问题:别人的函数体你无法操作,这就导致我们的功能函数,不能自己在别人的函数体内调用
//解决方案:回调函数->一个被当做函数参数的函数
// 如:
// function f1(f){//第三方函数 f == f2 f() == f2()
// f();
// console.log("f1");
// }
// var f2 = function(){//自己写的函数->回调函数
// console.log("f2");
// }
// f1(f2);
// ---------------------------------------------------
// 按照时间间隔,周期性的执行功能模块
// setInterval(回调函数,时间间隔)
var count = 0;
var fun = function(){
console.log("蔡徐坤我爱你"+ ++count);
}
// setInterval(fun,1000);
// ---------------------------------------------------
//字符串的定义
//a.字面量->基本类型
var str1 = "hello world";
console.log(str1);
console.log(typeof str1);
//b.构造法法->引用类型
var str2 = new String("hello world");
console.log(str2);
console.log(typeof str2);
// --------------------------------------------------
// 每个字符都有一个对应的编码,这个表就是ascii码表
// 97 "a"
// 65 "A"
// 48 "0"
// 32 空格
// 13 回车
// 结论:字符和对应的asc码值完全等价
// -------------------------------------------------
// ### 字符串API
// length:字符串的长度
// 注意:字符串通过索引访问字符时,要用()将索引括起来
// charAt
// 功能:返回索引对应的字符
// 参数:charAt(索引)
// 返回值:索引对应的字符
// var str1 = "hellolaowang";
// console.log(str1.charAt(1));
// charCodeAt
// 功能:返回索引对应的字符的ASC码值
// 参数:charCodeAt(索引)
// 返回值:索引对应的字符的ASC码值
// var str2 = "abc";
// console.log(str2.charCodeAt(0));
// fromCharCode
// 功能:将ASC码值转换为字符串
// 参数:fromCharCode(ASC1,[ASC2...])
// 返回值:ASC对应的字符
// 注意事项:该方法必须通过类型名调用
var str = String.fromCharCode(97,99);
console.log(str);
// indexOf("abc") 查找字符串第一次出现的位置
// var str = "helloworld";
// console.log(str.indexOf("llo"));
// lastIndexOf("abc") 查找字符串最后一次出现的位置 如果没找到 返回-1
// var str = "helloworld";
// console.log(str.lastIndexOf("o"));
// replace
// 功能:用参数2替换参数1(不改变原字符串)
// 参数:replace(参数1,参数2)
// 返回值:替换后的字符串(只能替换一次,即只能替换第一个)
// var str = "iKun de ge bi shi iKun";
// str2 = str.replace("iKun","老王");
// console.log(str);
// console.log(str2);
// slice 截取字符串,左闭右开
// var str = "helloworld";
// var str1 = str.slice(2,5);
// substring 和 slice功能基本一样
// 唯一的区别:slice参数支持负数(从后往前算,负数的时候左开右闭),substring不支持。
// var str = "helloworld";
// var str1 = str.slice(-5,-2);
// split
// 功能:将字符串分割成数组
// 参数:split("分隔符")--->如果不加分隔符,会把一整个字符串作为一个元素放进数组内
// 返回值:新的数组
// var str = "jin tian shi xing qi san";
// var arr = str.split(" ");
// console.log(arr);
// 所有英文字符转小写
console.log("HeiHei".toLowerCase());
// 所有英文字符转大写
console.log("HeiHei".toUpperCase());