接上篇

七、常用内置对象(复杂数据类型)(重点)

  (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例子

下篇(完)!

最新文章

  1. python 最大公约数
  2. eclipse安装color theme插件
  3. 【Android测试】【第十二节】Uiautomator——API详解
  4. 第十二章 process.tar.gz中代码的运行
  5. Div里面载入另一个页面的实现(取代框架)(AJax)(转)
  6. MySQL基础之第18章 性能优化
  7. ubuntu14.04LTS更新源
  8. FFT —— 快速傅里叶变换
  9. OpenSource.com 评出 2014 年十佳开源软件
  10. thinkphp对文件的上传,删除,下载操作
  11. js封装的类似java StringBuilder类
  12. url参数中出现+、空格、=、%、&、#等字符的解决办法
  13. ssh连接失败,排错经验(转)
  14. seo步骤
  15. windows服务启动有界面的程序
  16. 《Spring技术内幕》读书笔记
  17. DD常用命令组合
  18. Ubuntu 18.04 安装Docker
  19. Springboot:java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
  20. Android内存机制分析——堆和栈

热门文章

  1. Linux 编译kernel有关Kconfig文件详解
  2. canvas绘制文本自动换行
  3. (八)二进制文件在webservice中的处理(以byte[]字节数组方式)
  4. js中WebSocket
  5. tasklist、taskkill命令使用
  6. 2、JDK8中的HashMap实现原理及源码分析
  7. 三、eureka服务端获取服务列表
  8. 关于微信小程序的父子组件互相传值
  9. vue-filters(过滤器)
  10. linux物理地址和虚拟地址定义