JavaScript 函数定义+内置函数使用+array对象+object类型

文章目录

      • 函数定义
      • random()
      • setInterval()
      • setTimeout()
      • 数组对象
      • object

函数定义

两种格式:

function 自定义函数名称(参数1,参数2,...,参数n){
//函数体
return 返回值;
}

函数表达式写法(匿名函数):

var 变量名称=function(参数1,参数2,...,参数n){
//函数体
return 返回值;
}

区别:
第一种函数调用语句可以在函数定义之前,因为在程序运行阶段,此方式的函数定义将被提升到程序的最开头。
第二种函数调用语句必须放在此函数定义之后,因为只用在该代码被运行到时,函数才被定义。

函数参数的初始化:
这个够强大了,顶了构造函数和重载的功能。。当然和c一样,比Java简洁

function add(x,y){//ES6支持(x=0,y=0)设置默认参数
if(x===undefined){
x=0;
}
//x=x||0;
//x=(x===undefined)? 0:x;
y=y||0;
return x+y;
}
console.log(add(5));//5
console.log(add(5,1));//6

变量作用域:
函数内声明的变量为局部变量
外为全局变量
function run(){
var t=1;//局部,只有函数内的代码能使用。
}
if(t=true){
int dog =1;//全局
}

random()

Math.random()//随机返回0到0.9999...
Math.random()*10//0到9.9999...
Math.floor(Math.random()*10)//0到9....

setInterval()

网页的全局变量在windows对象里面
setInterval()格式:

windows.setInterval(自定义函数,毫秒数);//windows可省

setInterval(function(){//间隔1秒运行此代码},1000);

arduino是不是很类似呢嘻嘻~ 所以说为什么有的单片机用JS语言呢~ ~
void loop(){//循环代码}
例子:

setInterval(function(){console.log('hello');},1000);
//每隔一秒在控制台上显示hello
//下面简化版本
setInterval("console.log('hello');",1000);
//这个有点神似java的lambda

如何停止循环:

var id = setInterval(
function(){
var num=Math.floor(Math.random()*1024);
console.log(num);
},3000);
clearInterval(id);//停止指定识别码的定时循环

setTimeout()

指定时间到时运行一次

setTimeout(
function(){
console.log("该上课了");
},60000);

一分钟到时显示一次

你们看着没有用是吗?那么我告诉你这东西我不让他在控制台输出的话,他就厉害了。可以通过对话框进行人机交互。
例子:
在这里插入图片描述
如果你调到一毫秒的话,他就只能关闭这个页面了,嘻嘻~

数组对象

数组元素从0开始编号
定义数组:

var name = ["jack","jimmy","jam"];
var name= new Array("jack","jimmy","jam");
var name= new Array(3);//三个元素的空字符串
var name = [];//空白数组

由于数组不仅仅时存储编号的空间,他还是个对象,所以就有操作方法和属性。
数组的属性:

   var name = ["jack","jimmy","jam"];console.log(name.length());//3name.length = 1;//数组里只剩下第一个元素

数组的方法:
添加元素:

name[3]="jack";
name.push("jack");//在name数组后面添加元素
name.unshift("jack")//在name数组最前面添加元素

删除元素:

name.pop();//删除并返回数组最后一个元素
name.shift();//删除并返回数组第一个元素
name.splice(1,1);//从下标1开始删除一个元素。这样的话删除之后下标2成了下标一

替换添加元素:

name.splice(1,1,"jack","jimmy")//删除下标一对应的元素,并且加入两个元素,其中jack的下标成为1

JavaScript数组的特性:
1.一个数组可存储不同类型元素
2.无需指定大小,可根据定义自动扩容
3.若读取超过数组范围的元素,不会产生越界错误,其值为undefined
4.可在一个数组中存储另一个数组,实现多维数组

作为学过java和c++的我来说,这个javaScript数组真的强

读取数组元素:
类似c语言,for循环法

var name=['jack','jimmy','candy'];
var total=name.length;
for(var i=0;i<total;i++){
console.log(name[i]);
}

foreach法
从数组第一个元素开始提取,传递给处理函数做参数,直到取出最后一个

name.foreach(function(val){
console.log(val);
});

object

我们称object为对象,它是一种可存储多组数据的数据类型,
存储其中的元素为属性property
数组元素通过下标数字访问,对象属性通过名称识别key
数组编号和数据值没什么关联,不直观。所以我们如果想要表示一些相关的数据,不妨用对象,这样的话我们调用就只用对象.属性
对象的定义:

//属性名称不含英文数字下划线美元符号以外字符: 
var windowObj={"wall":"ON",  
"door":"OFF",  
"floor":"ON"};
//
var data={"@":100,
" ":"place",
"1":"number"};

对象的使用:

对象.属性名
console.log(windowObj.door);//"OFF"
对象["属性名"]
console.log(data["@"]);//"100"

添加对象属性

var deng={};
deng.power = 10;
deng.LED=13;
//对象属性可以是任意类型
deng.hello=function(){console.log("hello");}
deng.hello();运行hello方法

删除对象属性

delete deng.LED;

delete仅能删除对象的属性,无法删除一般变量和整个对象
如果要某变量空间给系统回收,那么将其值设为null

var obj = {'ss' : 1,
'rr':'open'};
var num= 1;
num=null;
obj=null;//清空对象内容,系统回收存储器空间

列出对象全部属性:

for(var key in deng){
var val=deng[key];
console.log("属性:"+key+" 值: "+val);
}

还可通过in操作符
in操作符用于确认对象的某一属性或方法是否存在

"power" in deng//true
"floor" in Math//true

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jmeter进程和线程的区别_一文搞懂进程和线程的区别

计算机系统是由硬件和软件组成的&#xff0c;它们共同协作以运行应用程序。先来看下面这张一个典型的计算机系统的硬件组成图从上图中看出一个系统由 CPU、ALU(算术逻辑单元)、PC(程序计数器)、总线(贯穿整个系统的一组电子管道)、IO设备、主存等组成。这些硬件的管理都是由操作…

linux中split函数用法,Linux csplit 命令用法详解-Linux命令大全(手册)

csplitLinux csplit命令用于分割文件。将文件依照指定的范本样式予以切割后&#xff0c;分别保存成名称为xx00,xx01,xx02…的文件。若给予的文件名称为”-“&#xff0c;则csplit指令会从标准输入设备读取数据。语法csplit [-kqsz][-b][-f][-n][--help][--version][文件][范本样…

BOM+DOM+JavaScript读取与操作网页对象

DOM 网页的元素有多种定义方式&#xff0c;那我们怎么描述或指定页面上某个元素呢。为了统一方式&#xff0c;产生了document object model 标准 以HTML表单为例&#xff0c; 文本字段前面的标题由label标签声明 每个表单字段都通过id属性设置唯一的识别名称&#xff0c;用于让…

datax 导入数据中文乱码_DataX在有赞大数据平台的实践

文| 小木 on 大数据一、需求有赞大数据技术应用的早期&#xff0c;我们使用 Sqoop 作为数据同步工具&#xff0c;满足了 MySQL 与 Hive 之间数据同步的日常开发需求。随着公司业务发展&#xff0c;数据同步的场景越来越多&#xff0c;主要是 MySQL、Hive 与文本文件之间的数据同…

网页中嵌入JavaScript+事件触发程序

嵌入方式&#xff1a; 1.JavaScript代码与HTML写在同一个文档中 JavaScript代码要放在<script>和</script>标签之间 而且整个JavaScript代码最好放在</body>前&#xff0c;这样可以让浏览器先加载并显示主体 2.JavaScript代码单独存成.js文件&#xff0c;…

linux查看分区树形状态,查看Linux磁盘的分区状态(lsblk、blkid、parted)

②磁盘的管理是一个相当重要的环节&#xff0c;如果你想在系统里面新增一块磁盘&#xff0c;应该做一下几个操作2.命令格式lablk [选项] [设备文件名]3.选项-d&#xff1a;仅列出磁盘本身&#xff0c;并不会列出该磁盘的分区信息-f&#xff1a;同时列出该磁盘内的文件系统名称-…

sql相同顺序法和一次封锁法_数学专题 | Ep01 隔板法的妙用

数学专题(一) 隔板法的妙用浓度常见哪些问题?排列组合分堆&#xff1f;涂色&#xff1f;到底掌握透彻了吗&#xff1f;解析几何与韦达定理&#xff1f;公式总是记不住&#xff1f;应用题还不会解&#xff1f;除了写作(写作听我的)、逻辑(逻辑说)专题外&#xff0c;本周起我们也…

山东大学linux实验报告,山东大学操作系统实验四

一.实验内容&#xff1a;抽烟者问题。假设一个系统中有三个抽烟者进程&#xff0c;每个抽烟者不断地卷烟并抽烟。抽烟者卷起并抽掉一颗烟需要有三种材料&#xff1a;烟草、纸和胶水。一个抽烟者有烟草&#xff0c;一个有纸&#xff0c;另一个有胶水。系统中还有两个供应者进程&…

通过CDN引用jQuery库+jQuery的使用+网页实现计算器的功能

jQuery是什么&#xff1f;有什么用&#xff1f; jQuery是javascript库&#xff0c;其实就是一堆的js函数&#xff0c;方便我们来调用&#xff0c;提高我们的开发效率 免费开源&#xff0c;支持主流浏览器&#xff0c;简化选取网页元素的语法&#xff0c;简易的读取设置元素的…

amd cpu排行_最新AMD CPU排行出炉 E6版3000+夺魁

据消费调研中心ZDC统计结果显示&#xff0c;2006年3月最受用户关注的前十款AMD CPU中&#xff0c;Athlon64和Sempron两大系列产品平分秋色&#xff0c;各有五款产品入围。具体产品排行如下图所示。(图)2006年3月最受用户关注的前十款AMD CPU排名产品名称报价L2缓存(KB)插槽类型…

java异常及错误处理大纲

文章目录1.异常处理2. 自定义异常3. 断言及程序的测试4. 程序的调试1.异常处理 异常&#xff08;exception ) 又称为例外、差错、违例 对应着Java运行错误处理机制 基本写法 try{ 语句组 }catch(Exception ex){ 异常处理语句组&#xff1b; }import java.io.*; public cla…

linux dev alloc name,深入理解Linux网络技术内幕-设备注册和初始化(二)

NIC注册和注销的通用架构Linux系统中NIC网络设备驱动程序利用网络代码进行注册和注销有其通用的架构&#xff0c;这里以PCI Ethernet NIC为例&#xff0c;其他设备类型只是所以函数名称和调用方式不同&#xff0c;主要依据于设备总线提供的接口。其中(a)为设备注册的大致流程图…

外贸常用术语_外贸中常用的会计术语及付款方式术语 | 会计英语

点击上面“财经英语”关注公众号&#xff01;点击下面小程序加入: 学习圈财经英语 学习圈 预付现金 Cash advance 凭提货单支付现金 Cash against Bill of Lading (B/L) 凭单据付现款||凭装货单付现款 Cash against Documents 现金结存||现金差额 Cash balance 现收现付制||现金…

c语言中block做函数参数,c语言中的block

//block块(数据类型) 封装的一段具有特定功能的代码段//函数有函数名&#xff0c;block没有名字&#xff0c;也可以叫做匿名函数&#xff1b;函数不能做参数传递&#xff0c;block可以作为参数传递&#xff1b;//形式&#xff1a;/* 返回值类型,(^ block变量名)(参数列表)&…

python 多维list 排序_一行代码的优雅| Python列表生成式

欢迎回来&#xff0c;上一周我们整理了基础课中三大结构有关内容的具体应用及案例。可以通过以下几篇推文进行回溯&#xff1a;Python语言基础50课我的Python - 100天笔记 |D1-D7我的Python - 100天笔记 |D8-D14列表是Python中非常常见的数据结构&#xff0c;在基础课中也占了不…

c语言高斯白序列x,C语言程序设计程设计指导书(晓庄).doc

C语言程序设计程设计指导书(晓庄)C语言程序设计课程设计任务书南京晓庄学院数学与信息技术学院2011-9-20一、C语言程序设计课程设计的目的说明1)复习巩固C语言的基础知识&#xff0c;进一步加深对C语言编程的理解和掌握&#xff1b;2)利用所学知识&#xff0c;理论和实际结合锻…

arduino智能风扇系统

研究方法与思路&#xff1a; 我们小组一开始找的是一个别人做好的项目&#xff0c;按键控制风扇挡位&#xff0c;不同挡位对应不同LED灯。但是实现过程中存在bug。而且仅仅通过按键控制风扇着实有局限性&#xff0c;因此我觉定用串口控制风扇开关的模式&#xff0c;输入1&…

verilog 生成块_如何高效的编写Verilog——终极版

为了高效的编写Verilog&#xff0c;通常有些编辑器插件可以自动生成代码&#xff0c;比如自动端口定义&#xff0c;自动连线&#xff0c;自动实例化等等。公司的环境有很好用的自动化插件&#xff0c;想给自己的电脑也整个怎么做。比如Emacs中有个插件叫verilog-mode。但是博主…

arduino串口输入改变模式模块

最新更新: 当时太嫩&#xff0c;做这个不知道arduino还有中断的方法&#xff0c;利用中断的方法可以比下面这种循环判断的方法更简单。 最近做了不少arduino智能系统&#xff0c;我发现在与用户交互的过程中&#xff0c;经常用到&#xff1a;通过在串口输入不同的值达到手动控…

android悬浮动态权限,Android 获取判断是否有悬浮窗权限的方法

现在很多应用都会用到悬浮窗&#xff0c;很多国产rom把悬浮窗权限加入控制了&#xff0c;你就需要判断是否有悬浮窗权限&#xff0c;然后做对应操作。Android 原生有自带权限管理的&#xff0c;只是被隐藏了。看android源码在android.app下就有个AppOpsManager类。类说明如下&a…