ECMAScript 5.0 基础语法(下)“稍微重点一点点”
2024-09-05 04:23:11
七、常用内置对象(复杂数据类型)(重点)
(1)数组Array
创建:例 var colors = ['red','blue','green'] #推荐这样,因为简单粗暴
或:var colors = new Array();
color[0] = 'red';
color[1] = 'blue';
color[2] = 'green'; #很繁琐,忘了它吧
数组的常用方法:
//数组的合并concat()
var north = ['北京','山东','天津'];
var south = ['东莞','深圳','上海'];
var newCity = north.concat(south);
console.log(newCity) //join() 将数组中的元素连接起来,变成一个新的字符串
var score = [98,78,76,100,0];
var str = score.join('|');
console.log(str);//"98|78|76|100|0" //slice(start,end);返回数组的一组数据,顾头不顾尾
var arr = ['张三','李四','王文','赵六'];
var newArr = arr.slice(1,3);
console.log(newArr);//["李四", "王文"] //pop 移除数组的最后一个元素
var arr = ['张三','李四','王文','赵六'];
arr.pop();
console.log(arr);//["张三", "李四","王文"] //push 向数组最后添加一个元素
var arr = ['张三','李四','王文','赵六'];
arr.push('小马哥');
console.log(arr);
//["张三", "李四","王文","赵六","小马哥"] //reverse()翻转数组
var names = ['alex','xiaoma','tanhuang','angle'];
names.reverse();
console.log(names); //sort 对数组排序
var names = ['alex','xiaoma','tanhuang','abngel'];
names.sort();
console.log(names);// ["alex", "angle", "tanhuang", "xiaoma"] //isArray 判断是否为数组
布尔类型值 = Array.isArray(被检测的值)
数组常用方法的例子
(2)字符串string
//chartAt() 返回指定索引的位置的字符 var str = 'alex';
var charset = str.charAt(1);
console.log(charset);//l //concat 返回字符串值,表示两个或多个字符串的拼接 var str1 = 'al';
var str2 = 'ex';
console.log(str1.concat(str2,str2));//alexex //replace(a,b) 将字符串a替换成字符串b var a = '1234567755';
var newStr = a.replace("4567","****");
console.log(newStr);//123****755 //indexof() 查找字符的下标,如果找到返回字符串的下标,找不到则返回-1 。跟seach()方法用法一样 var str = 'alex';
console.log(str.indexOf('e'));//
console.log(str.indexOf('p'));//-1 //slice(start,end) 左闭右开 分割字符串 var str = '小马哥';
console.log(str.slice(1,2));//马 //split('a',1) 以字符串a分割字符串,并返回新的数组。如果第二个参数没写,表示返回整个数组,如果定义了个数,则返回数组的最大长度 var str = '我的天呢,a是嘛,你在说什么呢?a哈哈哈';
console.log(str.split('a'));
//["我的天呢,", "是嘛,你在说什么呢?", "哈哈哈"] //substr(statr,end) 左闭右开 var str = '我的天呢,a是嘛,你在说什么呢?a哈哈哈';
console.log(str.substr(0,4));//我的天呢 //toLowerCase()转小写 var str = 'XIAOMAGE';
console.log(str.toLowerCase());//xiaomage //toUpperCase()转大写 var str = 'xiaomage';
console.log(str.toUpperCase());//XIAOMAGE
string字符串常用方法的例子
(3)Math内置对象
//Math.ceil() 向上取整,'天花板函数' var x = 1.234;
//天花板函数 表示大于等于 x,并且与它最接近的整数是2
var a = Math.ceil(x);
console.log(a);// // Math.floor 向下取整,'地板函数' var x = 1.234;
// 小于等于 x,并且与它最接近的整数 1
var b = Math.floor(x);
console.log(b);// // 求两个数的最大值和最小值 //求 两个数的最大值 最小值
console.log(Math.max(2,5));//
console.log(Math.min(2,5));// //随机数 Math.random() var ran = Math.random();
console.log(ran); //[0,1);
math的应用例子
八、函数(重点)
无需多说,哪门语言中,函数应用都很频繁,当然重要。作用就是,规范,简洁,不low。
//js中声明函数
function add(x,y){
return x+y;
}
console.log(add(1,2)); //function相当于python中的def //伪数组arguments
fn(2,4);
fn(2,4,6);
fn(2,4,6,8); function fn(a,b,c) {
console.log(arguments);
console.log(fn.length); //获取形参的个数
console.log(arguments.length); //获取实参的个数 console.log("----------------");
}
//之所以说arguments是伪数组,是因为:arguments可以修改元素,但不能改变数组的长短。举例: fn(2,4);
fn(2,4,6);
fn(2,4,6,8); function fn(a,b) {
arguments[0] = 99; //将实参的第一个数改为99
arguments.push(8); //此方法不通过,因为无法增加元素
} //清空数组的几种方式: var array = [1,2,3,4,5,6];
array.splice(0); //方式1:删除数组中所有项目
array.length = 0; //方式2:length属性可以赋值,在其它语言中length是只读
array = []; //方式3:推荐
函数例子
九、对象Object(重点)
1.使用Object或对象字面量创建对象
2.工厂模式创建对象
3.构造函数模式创建对象
4.原型模式创建对象
/*
// 1.使用Object或对象字面量创建对象 // 对象 是属性和方法
var person = new Object();
console.log(person);
console.log(typeof person); // 给对象赋值
person.name = 'alex';
person.age = 20;
person.fav2 = function(){ }
console.log(person);
// var favfn = function(){
// // this 指的是当前的对象 跟python中的self类似
// console.log(this.name);
// }
var person2 = {
name:'wusir',
age:26,
fav:function(){
// this 指的是当前的对象 跟python中的self类似
console.log(this.name);
}
} console.log(person2); person2.fav();
*/
// 提问: 能不能像工厂车间一样,车床 不断生产对象 ? 工厂模式创建对象 /*
// 2.工厂模式创建对象
function createPerson(name, age) {
var o = new Object();
o.name = name;
o.age = age; return o;
} var person1 = createPerson('alex', 20);
var person2 = createPerson('alex2', 20);
var person3 = createPerson('alex3', 20);
var person4 = createPerson('alex4', 20); // instanceof
console.log(person1 instanceof Object);
console.log(person2 instanceof Object); function createFruit(name, age) {
var o = new Object();
o.name = name;
o.age = age; return o;
} var f = createFruit('苹果',.2);
console.log(f instanceof Object) */ // 3.构造函数模式创建对象 构造函数可以创建对象 使用new 关键字来创建对象 函数名首字母大写
// new Array()
// new Object()
// new String() /*
function Person(name, age) {
this.name = name;
this.age = age;
this.alertName = function() {
alert(this.name);
}
} function Fruit(name, age) {
this.name = name;
this.age = age;
this.alertName = function() {
alert(this.name);
}
} var p1 = new Person('alex1', 20);
p1.alertName(); var f1 = new Fruit('香蕉',30);
f1.alertName(); console.log(p1 instanceof Person);
console.log(f1 instanceof Fruit); console.log(p1 instanceof Object);
*/ // 4.原型模式创建对象 propotype 它是当前对象的父类 function Person(name,age){
this.name = name;
this.age = age; } Person.prototype.alertName = function(){
alert(this.name);
}; var p1 = new Person('alex',20);
var p2 = new Person('alex2',23); // 内存地址 和值
console.log(p1===p2); p1.alertName();
p2.alertName();
对象Object
十、JSON(重点)
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。
/*
// json 是一个轻量级的数据交换格式,json有两种结构:对象 和数组 // 1.对象
// var person = {
// name:'zhangsan '
// } // var packJSON = {"name":"alex","pwd":123};
// console.log(packJSON); // 2.数组 是值的有序集合
var packJSON = [{"name":"alex","pwd":123},{"name":"wusir","pwd":123}]
console.log(packJSON);
*/
// json对象和json字符串转换
// 在数据传输过程中,JSON通常是以字符串的形式传递,但是js更喜欢操作JSON对象,所以Jjson对象和json字符串转换非常重要 /*重要
var jsonStr = '{"name":"alex","pwd":123}'; // (1)json字符串=》json var jsonobject = JSON.parse(jsonStr);
console.log(jsonobject); // (2) 将json对象=》 json字符串
var jsonStr2 = JSON.stringify(jsonobject)
console.log(jsonStr2);
console.log(typeof jsonStr2);
*/
// 3.遍历JSON对象和JSON数组
// (1)遍历JSON对象 /*
var packJSON = {"name":"alex","pwd":123}; // for in for(var k in packJSON){
// k指的是键值的索引
console.log(k+' '+packJSON[k])
} */
// (2) 遍历JSON数组
var packJSON = [{"name":"alex","pwd":123},{"name":"wusir","pwd":123}]; for(var i in packJSON){
console.log(i+' ' + packJSON[i].name + ' ' + packJSON[i].pwd ); }
json例子
下篇(完)!
最新文章
- python 最大公约数
- eclipse安装color theme插件
- 【Android测试】【第十二节】Uiautomator——API详解
- 第十二章 process.tar.gz中代码的运行
- Div里面载入另一个页面的实现(取代框架)(AJax)(转)
- MySQL基础之第18章 性能优化
- ubuntu14.04LTS更新源
- FFT —— 快速傅里叶变换
- OpenSource.com 评出 2014 年十佳开源软件
- thinkphp对文件的上传,删除,下载操作
- js封装的类似java StringBuilder类
- url参数中出现+、空格、=、%、&;、#等字符的解决办法
- ssh连接失败,排错经验(转)
- seo步骤
- windows服务启动有界面的程序
- 《Spring技术内幕》读书笔记
- DD常用命令组合
- Ubuntu 18.04 安装Docker
- Springboot:java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
- Android内存机制分析——堆和栈