JavaScript 基础(二) - 创建 function 对象的方法, String对象, Array对象
创建 function 对象的两种方法:
方式一(推荐)
function func1(){
alert(123);
return 8
}
var ret = func1()
alert(ret)
方式二:var func2 = new Function("参数1", "参数n","函数体");
var add = new Function("a", "b", "alert(a+b)")
add(1,2);
alert(add.length)
arguments 对象
获得参数的个数
var ret=0;
function add(){
alert(arguments.length)
}
add(1,2,3,4,5)
获得参数的个数和值的总额
var ret = 0;
function add(){
console.log(arguments.length);
console.log(arguments);
for (var i in arguments){
ret += arguments[i]
}
return ret;
}
alert(add(1,2,3,4))
控制抛出异常
function func2(){
if (arguments.length != 3){
throw new Error("param should be 3")
}
}
func2(1,2,3,4)
自执行函数
(function(arg){console.log(arg);})('123')
instanceof
用于判断一个变量是否某个对象的实例
var s = "hello";
var i = 8;
alert(typeof(s));
alert(typeof(i));
var s2 = new String("hello2");
alert(typeof(s2))
alert(s2 instanceof String);
var n = new Number(2);
alert(typeof(n))
alert(n instanceof Number);
在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String、Math、Array、Date、RegExp都是JavaScript中重要的内置对象,在JavaScript程序大多数功能都是通过对象实现的
JavaScript 有 11 种内置对象, 包括:
Array ,String , Date, Math, Boolean, Number Function, Global, Error, RegExp , Object
String对象
创建字符串对象:
var s = "hello";
var s2 = new String("hello2");
alert(s);
alert(s2);
// String 对象 length 方法
alert(s.length);
// 遍历字符串
for (var i in s){
console.log(s[i])
}
各种方法
// 用于把字符串显示为斜体
document.write(s.italics());
// 用于把字符串显示为粗体
document.write(s.bold());
// 用于创建 HTML 锚
document.write(s.anchor("klvchen"));
// 用于把字符串转化成大写
console.log(s.toUpperCase());
// 用于把字符串转化成小写
console.log(s.toLowerCase());
// charAt返回index位置的字符
console.log(s.charAt(3));
// charCodeAt返回index位置的Unicode编码
console.log(s.charCodeAt(3));
// search返回匹配字符串的首字符位置索引
console.log(s.search("l"));
// match返回匹配字符串的数组,如果没有匹配则返回null
console.log(s.match("l"));
console.log(s.match("l")[0]); // 取数组里面的值
console.log(s.match("l")[1]);
// 替换子字符串
console.log(s.replace("e","E"));
// 分割字符串
console.log(s.split("e"));
// 连接字符串
console.log(s.concat(" world"));
// 截取子字符串,右不包括
console.log(s.substr(1, 1));
console.log(s.substring(1, 4));
console.log(s.slice(1, -1));
// 返回指定第一个元素的位置
console.log(s.indexOf("l"));
Array对象
创建数组对象
// 方法一:
var arr = [1,2,3,4];
// 方法二:
var arr2 = new Array(1,2,3,4);
//var arr2 = new Array(5, "hello", true, [1,2]);
// 输出数组对象的长度
console.log(arr.length);
console.log(arr2.length);
// 定义一个长度为3的数组,数组的值因未定义则默认为空
var arr4 = new Array(3);
console.log(arr4[0]);
console.log(arr4[1]);
console.log(arr4[2]);
// 数组是可变成的
var arr5 = new Array(3);
arr5[5] = 10;
console.log(arr5.length);
// 二维数组
var arr6 = new Array(6, "klvchen", true, [1,2]);
alert(arr6[3][0]);
// 连接数组-join方法
ret = ["hello", "world"].join(" &&& ");
alert(ret);
// push pop这两个方法模拟的是一个栈操作, push 压栈, pop弹栈
var arr7 = [1, 4, 6];
arr7.push(13);
console.log(arr7);
var ret = arr7.pop();
alert(ret);
// unshift shift。unshift是将value值插入到数组x的开始, shift是将数组x的第一个元素删除
var arr7 = [1, 4, 6];
arr7.unshift(45);
console.log(arr7);
arr7.shift();
console.log(arr7);
// 数组排序。reverse 作用为颠倒数组元素;sort 作用为排序数组元素
var arr8 = [11, 5, 3, 7, 100];
arr8.reverse();
console.log(arr8);
console.log(arr8.sort());
// 按照从小到大排序
var arr8 = [11, 5, 3, 7, 100];
function mysort(a,b){
if (a>b){
return 1;
}else if(a<b){
return -1;
}else{
return 0;
}
}
function mysort2(a,b){
return a-b;
}
console.log(arr8.sort(mysort));
console.log(arr8.sort(mysort2));
作用域,作用域链
- 作用域链在函数被解释的过程中已经创建(函数做为作用域)
- 提前声明
JavaScript 基础(二) - 创建 function 对象的方法, String对象, Array对象的更多相关文章
- 2、JavaScript 基础二 (从零学习JavaScript)
11.强制转换 强制转换主要指使用Number.String和Boolean三个构造函数,手动将各种类型的值,转换成数字.字符串或者布尔值. 1>Number强制转换 参数为原始类型值的转换规 ...
- 内置对象(Date String Math Array)
什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的,如:字符串的长度.图像的长宽等: 对象的方法: ...
- JavaScript原生对象属性和方法详解——Array对象
http://www.feeldesignstudio.com/2013/09/native-javascript-object-properties-and-methods-array/ lengt ...
- javascript(基础)_对数组的遍历方法总结(find, findIndex, forEach,)
一.前言 ...
- JavaScript基础二
1.7 常用内置对象 所谓内置对象就是ECMAScript提供出来的一些对象,我们知道对象都是有相应的属性和方法 1.7.1 数组Array 1.数组的创建方式 字面量方式创建(推荐大家使用这种方式, ...
- JavaScript 基础(二)数组
字符串, JavaScript 字符串就是用'' 和""括起来的字符表示. 字符字面量, \n 换行, \t 制表, \b 退格, \r 回车, \f 进纸, \\ 斜杠,\' 单 ...
- Gradle学习系列之二——创建Task的多种方法
在本系列的上篇文章中,我们讲到了Gradle入门,在本篇文章中我们将讲到创建Task的多种方法. 请通过以下方式下载本系列文章的Github示例代码: git clone https://github ...
- JavaScript---网络编程(3)-Object、String、Array对象和prototype属性
本节学习JavaScript的对象和方法(函数)~ Object 对象 提供所有 JScript 对象通用的功能. obj = new Object([value]) 参数 obj 必选项.要赋值为 ...
- JavaScript基础回顾知识点记录6-操作元素样式和事件对象(介绍基本使用)
js 中 操作元素样式 通过js修改元素内联样式(设置和读取的都是内联样式) 获取当前元素显示的样式 <html> <head> <meta charset=" ...
随机推荐
- 遇到ANR问题的处理步骤
遇到ANR问题的处理步骤 问题描述 开发中难免会遇到ANR的问题,遇到ANR问题不要想着是因为设备的卡顿出现的问题,我们无法解决,我们应先找到导致ANR的原因,分析原因之后,再来判断这个问题可不可以解 ...
- Day1:html和css
Day1:html和css 了解浏览器 掌握WEB标准 理解标签语义 掌握常用标签 掌握三种列表标签 前端开发工具: 浏览器是网页显示.运行的平台,IE.火狐(Firefox).谷歌(Chrome). ...
- HBuilder+eclipse开发:使用ajax异步传值生成首字母索引
使用ajax异步传值生成首字母索引大致有以下几个步骤: 1.服务器端使用servlet提取出数据库里的数据; 2.使用首字母工具类对数据进处理得到首字母; 3.再将首字母和数据一一对应存入json数组 ...
- PHP之ThinkPHP框架(会话)
网页会话即是实现页面跳转及数据传递,在web开发中,Cookie和Session的使用是极其重要的,GET和POST是最常使用的页面间数据传递的方法,相对于PHP脚本基础,在ThinkPHP中对网页会 ...
- java基础-2
java基础-2 面向对象 定义 面向对象是一种思维方式,相对于面向过程面向过程注重流程中的每一步,清楚流程中的每一个细节面向对象注重的是对象,有了对象就有对象的一届自己动手做--面向过程,找其 ...
- python --商品评价---- 数据表结构以及理解
商品评论(评价)功能 1.概述 评论功能已经成为APP和网站开发中的必备功能.本文主要介绍评论功能的数据库设计. 评论功能最主要的是发表评论和回复评论(删除功能在后台).评论功能的拓展功能体现有以下几 ...
- spring boot -整合Ehcahe
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...
- 面试题:两种方法计算n!
直接上代码package com.face.test; public class Test { /** * 面试题:递归方法计算n! */ @org.junit.Test public void di ...
- javascript数组的属性、方法和清空-最全!!!(必看)
今天经理要我从新看一遍js,当我再看<精通js和jquery>这本书时,发现关于数组的这章节讲的很少,于是想自己总结一下数组的常用方法. 定义数组: var arr = new Array ...
- 转:centos7搭建jenkins小记
转自:https://segmentfault.com/a/1190000007086764 安装java环境 1.查看服务器版本 centos7,继续. cat /etc/redhat-releas ...