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设备、主存等组成。这些硬件的管理都是由操作…

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;…

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

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

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

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

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 现收现付制||现金…

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

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

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

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

剩余 大小 查看内存_JVM的内存分配策略以及进入分代的条件

JVM的参数和知识点太多啦&#xff0c;记录下来&#xff0c;供自己随时回顾。java对象什么时候进入年轻代&#xff08;新生代&#xff09;&#xff1f;java对象什么时候进入老年代&#xff1f;对象优先在Eden分配大对象直接进入老年代空间分配担保机制java对象什么时候进入年轻代…

Arduino的串口结束符及串口缓冲区

文章目录1.深入理解缓冲区和Serial.available()&#xff1a;2.深入理解串口结束符3.验证结论&#xff1a;1.深入理解缓冲区和Serial.available()&#xff1a; 运行下面的代码&#xff0c;我发现如果不在串口输入任何数字&#xff0c;就会一直显示“no”&#xff0c;输入一个数…

android 圆角边框边框渐变,支持边框、圆角、渐变色、透明度的GradientButton

最近在项目中发现好多Button背景颜色相同&#xff0c;但圆角大小不等的Button&#xff0c;这样就得写一大堆的shape或者selector&#xff0c;不便于管理及后期维护&#xff0c;于是乎变想能不能写一个支持边框、圆角、渐变色、透明度的万用Button呢。为了能够兼容button自带的属…

鸿蒙ide如何运行,深入浅析华为鸿蒙IDE安装与Hello World

一、系统安装1. 到官网下载HUAWEI DevEco Studio2. 安装二、创建项目创建项目目前还没有手机选项&#xff0c;所以我先选择一个电视&#xff1a;IDE的环境看起来和idea差不多&#xff0c;应该比较容易上手。从“关于”里也可以看到&#xff0c;确实是基于IDEA开源版本开发的。我…

中快捷搜索_同事用1分钟,我用半小时,原来是因为这8个Word快捷键,秒杀一切办公技巧...

同事用1分钟&#xff0c;我用半小时&#xff0c;这8个Word快捷键&#xff0c;秒杀一切办公技巧​mp.weixin.qq.com文&#xff5c;王羽卒今天给小伙伴们分享几个实用又有效的快捷键&#xff0c;帮助快速完成工作&#xff0c;同事用了半小时&#xff0c;你1分钟就能解决哟&#x…

荣耀x10max能不能升级为鸿蒙,荣耀终于放出大招!4部荣耀旗舰可升级鸿蒙,网友:终于等到了...

4月24~26日&#xff0c;华为将召开开发者大会&#xff0c;届时手机使用的鸿蒙系统将正式上线&#xff0c;华为和部分荣耀手机将会首先支持。其实&#xff0c;早在2月22日的华为Mate X2的发布会上&#xff0c;余承东就说过4月发布鸿蒙OS。华为并不想推出鸿蒙系统&#xff0c;如果…

android 7.0新增控件,自定义Android控件,封装Arcgis for Android测距测面积工具控件

控件的功能包括&#xff0c;测距、测面积、撤销、恢复、清除、完成六个功能。测距&#xff1a;在地图上绘制线段进行长度测量测面积&#xff1a;在地图上绘制一个面&#xff0c;进行面积测量撤销&#xff1a;撤销到上一步绘制&#xff0c;只能撤销未完成的测量恢复&#xff1a;…

多媒体分析与理解_如何设计一个出色的数字多媒体展厅?

展厅设计方案是了解每个多媒体设备的应用方法&#xff0c;那么如何让设备跟展厅结合一起&#xff0c;展示出我们想要的科技效果&#xff0c;核心就是用户体验度。今天华南数字科技的小编就为您介绍下数字多媒体展厅对用户体验方面的几个重点要素。1、细节展示不论多前卫的多媒体…

gradient设置上下渐变_图解CSS: CSS渐变

CSS的渐变主要分布在 conic-gradient()和repeating-conic-gradient()两个属性。在CSS中&#xff0c;CSS的渐变相当于图像&#xff0c;我们可以使用线性渐变(linear-gradient()和repeating-linear-gradient())、径向渐变(radial-gradient()和repeating-radial-gradient())和锥形…

2021泗阳致远中学高考成绩查询,2021高考成绩什么时候发布?可通过哪些途径查询?...

3、安徽省高考成绩预计将于6月23日公布各批次录取分数线和高考成绩&#xff0c;考生可通过安徽省教育招生考试院自行查分&#xff1b;4、湖南高考成绩将于6月25日左右公布&#xff0c;本科不再分一二三批&#xff0c;考生可通过湖南教育政务网、湖南省普通高校招生考试考生综合…