热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaScript复习(2)

函数1.使用关键字function声明一个函数,如果有参数就传参,多个参数用逗号隔开2.函数不能声明返回值类型,即使有返回值,也不能声明返回值类型3.函数只有在调用的时候才执行,只

函数

1.使用关键字function声明一个函数,如果有参数就传参,多个参数用逗号隔开

//函数声明
function name(num1,num2){
//方法体
}

2.函数不能声明返回值类型,即使有返回值,也不能声明返回值类型

3.函数只有在调用的时候才执行,只声明不调用是不会执行的

4.如果函数没有返回值,那么这个函数执行过后返回undefined

function add(num){
if(num > 50){
return num + 10;
}
}
alert(add(45));
//结果为:undefined

5.函数不能声明参数的数据类型

6.所有的函数都以小写字母开头

7.函数的参数个数不是严格要求的,调用时实参的个数可以不等于形参的个数,实参多余形参时以第一个实参为准 ,实参少于形参个数时为undefined

function add(num){
if(num > 55){
return num + 5;
}
else{
return "成绩不合格";
}
}
alert(add(45,65));
//输出结果为:成绩不合格
alert(add(65,45));
//结果为:70

8.自定义的函数不能跟Javascript系统函数重名

9.Javascript中不存在重载,如果出现相同名字的函数,后面的会覆盖前面的

function add(num){
return num + 10;
}
function add(num1,num2){
return num1 + num2;
}
alert(add(1,2));
//结果为:3
alert(add(1));
//结果为:NaN
//由于函数找不到参数,所以输出undefined(未定义),当undefined类型数据和一个数值类型数据进行运算时,undefined先转换成数值类型NaN(非数值),然后NaN和一个数值类型数据运算,结果还是NaN。

Javascript中异常处理



  • 语法:

try{
//异常的抛出
//throw new Error(); 自定义错误消息
}
catch{
//异常的捕获与处理
}
finally{
//结束处理
}


  • 用法:

function add(num){
try{
if(num > 50 && num <60){
console.log(num + 10);
}
else{
throw new Error("输入的值不正确");
}
}
catch(err){
console.log(err);
}
finally{
console.log("end");
}

}
add(40);

对象

Javascript中所有事物都是对象:字符串、数值、数组、函数……

此外,Javascript允许自定义对象

Javascript中的内置对象:


  • String(字符串)


  • Date(日期)


  • Math(数学)


  • Number(数字)


  • Boolean(布尔型)


  • Array(数组)



常用字符串(String)的处理:

var str = "我想你,我在十点差三分的时候开始想你";
console.log(str.length);
//使用长度属性length来计算字符串的长度
//输出:18
console.log(str.charAt(2));
//使用chatAt()方法返回在指定位置的字符
//输出:你
console.log(str.indexOf("想"));
//使用indexOf()方法,从(0)号索引开始,返回某个指定的字符串值在字符串中首次出现的位置。
//输出:1
console.log(str.indexOf("想",5));
//从(5)号索引开始,包括(5)号索引,返回某个指定的字符串值在字符串中首次出现的位置。
//输出:16
console.log(str.lastIndexOf("你"));
//使用lastIndexOf()从后向前搜索字符串,并从起始位置(0)号索引开始计算返回字符串最后出现的位置。
//输出:17
console.log(str.split("点"));
//使用split()方法把字符串分割为字符串数组。
//输出:
// (2) ["我想你,我在十", "差三分的时候开始想你"]
// 0: "我想你,我在十"
// 1: "差三分的时候开始想你"
// length: 2
console.log(str.substr(6,5));
//substr(索引号,提取个数)从起始索引号开始(包括起始索引号的字符)提取字符串中指定数目的字符。
console.log(str.substring(6,11));
//substring(起始索引号, 结束索引号)提取起始索引号开始(包括起始索引号的字符)到结束索引号之前(不包括结束索引号的字符)的字符。

Date(日期)对象:

var today = new Date();
console.log(today);
//输出当前的日期和时间
console.log(today.toLocaleString());
//据本地时间格式,把 Date 对象转换为字符串。
console.log(today.toLocaleDateString());
//根据本地时间格式,把 Date 对象的日期部分转换为字符串。
console.log(today.toLocaleTimeString());
//根据本地时间格式,把 Date 对象的时间部分转换为字符串。
console.log(today.getFullYear());
//从 Date 对象以四位数字返回年份。
console.log(today.getMonth());
//从 Date 对象返回月份 (0 ~ 11)。
console.log(today.getDate());
//从 Date 对象返回一个月中的某一天 (1 ~ 31)。
console.log(today.getHours());
//返回 Date 对象的小时 (0 ~ 23)。
console.log(today.getMinutes());
//返回 Date 对象的分钟 (0 ~ 59)。
console.log(today.getSeconds());
//返回 Date 对象的秒数 (0 ~ 59)。

Math对象:











































方法描述
abs(x)返回 x 的绝对值。
ceil(x)对x进行向上取整。
floor(x)对 x 进行下向下取整。
max(x,y,z,...,n)返回 x,y,z,...,n 中的最高值。
min(x,y,z,...,n)返回 x,y,z,...,n中的最低值。
pow(x,y)返回 x 的 y 次幂。
random()返回 [0 ~ 1) 之间的随机数。
round(x)四舍五入。

Number对象:



  • 使用isNaN()判断输入的是不是一个数字


  • 数字可以是数字或者对象


var x = 369;
var y = new Number(369);
typeof(x);//返回Number
typeof(y);//返回Object

Boolean(布尔)对象:



  • 0 的布尔值 false


  • 1 的布尔值 true


  • 空字符串的布尔值 false


  • null 的布尔值 false


  • NaN 的布尔值 false


  • 字符串‘false‘ 的布尔值true


  • undefined的布尔值是false



Array(数组)对象:



  • Javascript中数组就是一个Array对象


  • Javascript中数组是动态的,是可变的


  • 通过指定数组名以及索引号码,你可以访问某个特定的元素


  • 在一个数组中你可以有不同的对象,可以在一个数组中包含对象元素、函数、数组


var arr = new Array();
arr[0] = 1;
arr[1] = 2;
arr[2] = "三";
arr[3] = "四";
console.log(arr.toString());
//把数组转换为字符串,并返回结果。
//返回:1,2,三,四
console.log(arr.join("+"));
//把数组转换成字符串,用括号内的字符隔开
//返回:1+2+三+四

遍历数组:

1.for循环遍历数组

var arr = new Array();
arr[0] = 1;
arr[1] = 2;
arr[2] = "三";
arr[3] = "四";
for (var i = 0; i console.log(arr[i]);
}

2.for……in语句按顺序遍历数组

var arr = new Array();
arr[0] = 1;
arr[1] = 2;
arr[2] = "三";
arr[3] = "四";
for(var i in arr){
console.log(arr[i]);
}


推荐阅读
  • 本文深入解析了Java面向对象编程的核心概念及其应用,重点探讨了面向对象的三大特性:封装、继承和多态。封装确保了数据的安全性和代码的可维护性;继承支持代码的重用和扩展;多态则增强了程序的灵活性和可扩展性。通过具体示例,文章详细阐述了这些特性在实际开发中的应用和优势。 ... [详细]
  • NOIP2000的单词接龙问题与常见的成语接龙游戏有异曲同工之妙。题目要求在给定的一组单词中,从指定的起始字母开始,构建最长的“单词链”。每个单词在链中最多可出现两次。本文将详细解析该题目的解法,并分享学习过程中的心得体会。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文深入探讨了Java多线程环境下的同步机制及其应用,重点介绍了`synchronized`关键字的使用方法和原理。`synchronized`关键字主要用于确保多个线程在访问共享资源时的互斥性和原子性。通过具体示例,如在一个类中使用`synchronized`修饰方法,展示了如何实现线程安全的代码块。此外,文章还讨论了`ReentrantLock`等其他同步工具的优缺点,并提供了实际应用场景中的最佳实践。 ... [详细]
  • 资源管理器的基础架构包括三个核心组件:1)资源池,用于将CPU和内存等资源分配给不同的容器;2)负载组,负责承载任务并将其分配到相应的资源池;3)分类函数,用于将不同的会话映射到合适的负载组。该系统提供了两种主要的资源管理策略。 ... [详细]
  • AngularJS 进阶指南:第三部分深入解析
    在本文中,我们将深入探讨 AngularJS 的指令模型,特别是 `ng-model` 指令。`ng-model` 指令用于将 HTML 元素与应用程序数据进行双向绑定,支持多种数据类型验证,如数字、电子邮件地址和必填项检查。此外,我们还将介绍如何利用该指令优化表单验证和数据处理流程,提升开发效率和用户体验。 ... [详细]
  • 在最近的学习过程中,我对Vue.js中的Prop属性有了更深入的理解,并认为这一知识点至关重要,因此在此记录一些心得体会。Prop属性用于在组件之间传递数据。由于每个组件实例的作用域都是独立的,无法直接引用父组件的数据。通过使用Prop,可以将数据从父组件安全地传递到子组件,确保数据的隔离性和可维护性。 ... [详细]
  • 单链表的高效遍历及性能优化策略
    本文探讨了单链表的高效遍历方法及其性能优化策略。在单链表的数据结构中,插入操作的时间复杂度为O(n),而遍历操作的时间复杂度为O(n^2)。通过在 `LinkList.h` 和 `main.cpp` 文件中对单链表进行封装,我们实现了创建和销毁功能的优化,提高了单链表的使用效率。此外,文章还介绍了几种常见的优化技术,如缓存节点指针和批量处理,以进一步提升遍历性能。 ... [详细]
  • 本指南详细介绍了如何在CentOS 6.6 64位系统上以root用户身份部署Tomcat 8服务器。系统环境为CentOS 6.6 64位,采用源码安装方式。所需软件为apache-tomcat-8.0.23.tar.gz,建议将软件下载至/root/opt目录。具体下载地址请参见官方资源。本指南涵盖了从环境准备到服务启动的完整步骤,适用于需要在该系统环境下搭建高性能Web应用服务器的技术人员。 ... [详细]
  • 该问题可能由守护进程配置不当引起,例如未识别的JVM选项或内存分配不足。建议检查并调整JVM参数,确保为对象堆预留足够的内存空间(至少1572864KB)。此外,还可以优化应用程序的内存使用,减少不必要的内存消耗。 ... [详细]
  • 在数字图像处理中,Photoshop 的直方图是一个重要的工具,它能够精确地反映图像中不同亮度级别的分布情况。通过分析直方图,用户可以深入了解图像的曝光、对比度和色调范围,从而进行更精细的调整。直方图不仅模拟了物体表面反射光线的原理,还能帮助摄影师和设计师更好地掌握图像的明暗细节,优化视觉效果。 ... [详细]
  • 这是一道涉及数学计算的问题。假设步行速度为 \(a\),车速为 \(b\),总距离为 \(c\)。Teddy 的步行时间为 \(T_1\),WhereIsHeroFrom 的步行时间为 \(T_2\),总时间为 \(T\)。通过分析不同时间段内的速度变化,可以得出最优的车辆使用策略,以最小化总的旅行时间。具体来说,需要计算在不同情况下步行和乘车的时间分配,以确保整体效率最大化。 ... [详细]
  • 本文详细探讨了使用纯JavaScript开发经典贪吃蛇游戏的技术细节和实现方法。通过具体的代码示例,深入解析了游戏逻辑、动画效果及用户交互的实现过程,为开发者提供了宝贵的参考和实践经验。 ... [详细]
  • ### 摘要`mkdir` 命令用于在指定位置创建新的目录。其基本格式为 `mkdir [选项] 目录名称`。通过该命令,用户可以在文件系统中创建一个或多个以指定名称命名的文件夹。执行此操作的用户需要具备相应的权限。此外,`mkdir` 还支持多种选项,如 `-p` 用于递归创建多级目录,确保路径中的所有层级都存在。掌握这些基本用法和选项,有助于提高在 Linux 系统中的文件管理效率。 ... [详细]
author-avatar
书友80922185
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有