js object数据类型
1.object数据类型,[可以]认为JavaScript中顶级数据类型.在JavaScript绝大多数
高级类型对象都是object类型
2.如何创建一个object类型对象
1) 通过调用Object内置构造函数,创建一个object类型对象
2) 通过JSON格式,创建一个object类型对象 {属性名:值,函数名:function(){}}
3) 通过自定义构造函数,创建一个object类型对象
3.如何区分普通函数与自定义构造函数
通过调用形式,决定当前函数是普通函数还是构造函数
普通函数调用形式: 对象.函数();
构造函数调用形式: var obj=new 函数();
在Java中方法内部的this的指向与JavaScript中函数内部this是一样
1)在构造方法中,this指的当前创建的实例对象
2)在普通方法中,this指的调用当前方法的实例对象
4.object类型对象的特点
因为JavaScript是弱类型编程语言,没有类文件的约束
所以object类型对象可以在创建后,任意添加属性和函数
5.如何为object类型对象添加属性函数:
1)object对象中[属性名称]都是字符串类型
2)添加属性格式
object类型对象['属性名']=值;
object类型对象.属性名 = 值;
3)移除属性格式
delete object类型对象.属性名;
delete object类型对象["属性名"];
6.动态指定函数的调用对象----------> 代码快速复用(封装商业价值)
1) 函数类型对象.call(调用对象,实参1,实参2...);
2) 函数类型对象.apply(调用对象,[实参1,实参2...]);
Method.inovke(调用对象,[实参,实参])
7.原型属性----prototype[重点]
1) 所有的[函数类型对象],都自动分配一个属性(prototype)
2) 这个属性(prototype)成为原型属性,由这个属性管理对象成为[原型对象]
3) 这个属性(prototype)就相当于Java类中 static final属性
4) 由当前构造函数生成的所有实例对象,都可以使用当前构造函数中prototype
指定的对象中属性,但是只能用,不能修改
5) 原型对象内容,只能由[函数类型对象]通过prototype.属性方式进行修改
6) JavaScript自动为prototype属性分配一个默认的对象,这个对象就被成为原型对象
7) 函数类型对象.prototype.属性名 ,对原型对象属性进行操作
函数类型对象.prototype = 对象, 改变管理原型对象引用地址
三.JavaScript5.0 继承实现
1.[继承]: 资源共享,只要能实现资源共享都可以认为继承体现.
2.JavaScript5.0继承: 通过[构造函数]
3.JavaScript5.0继承实现细节:
1) 通过原型属性
2) 通过call或则apply
四.JavaScript5.0中 callee属性
1.[arguments属性对象]拥有一个属性[callee] arguments.callee
2.callee属性相当于一个指针.永远[指向函数在内存存储位置]
****callee相当于常量(final),callee只要生成永远指向它遇到一个函数在内存地址
五.数组 Array
1.JavaScript5.0对于数组定义;
1)JavaScript5.0数组等同于Java中List集合
2.JavaScript5.0数组特征:
1)声明数组时,不需要指定数组中最大能够存储的数据个数
在JavaScript中不限制数组保存的数据个数
2)数组同时保存多个不同的数据类型的数据
3.如何声明JavaScript5.0数组
1) 可以使用一个[]声明数组
var myArray =[];
var myArray2 =[10,20,30]
2) 可以使用JavaScript提供内置构造函数(new Array())创建数组
var myArray = new Array();
4. JavaScript5.0数组下标
1) 阿拉伯数字 ,从0开始
2) 字符串
5. JavaScript5.0数组常用专有函数
1.push(数据1,数据2,数据3):可以向数组对象一次添加多个数据
2.pop(): 每次执行时,将数组对象中最后一个为保存的数据进行删除
3.length: 返回当前数组对象保存数据个数
-------------------------------------------------------------------------------------
JavaScript应用篇
一.JavaScript应用:
JavaScript[定位]浏览器内存中Dom对象,并对Dom对象中属性进行设置
二.Dom对象:
1.浏览器将加载html标签,当做一种数据类型.
2.浏览器加载某一个html标签时,会为当前这个标签生成一个引用对象.
这个引用对象就是DOM对象
3.浏览器根据标签声明顺序,在内存中以树型结构方式存储所有的DOM对象
4.可以通过修改DOM对象属性,来影响对应的标签中属性变化
三.如何定位浏览器内存中Dom对象
1.根据[id属性值],定位浏览器内存中第一个满足条件的DOM对象
var domObj = document.getElementById("id属性值");
*****<body></body>对应应用对象 document
2.根据[name属性值],定位浏览器内存中所有具有相同name的Dom对象
var domObjArray = document.getElementsByName("name属性值");
3.根据标签类型名称,定位浏览器内存中所有具有相同标签类型名称DOM对象
var domObjArray=document.getElementsByTagName("标签类型名称");
四.HTML标签中监听属性
1.监听属性定义
监听属性主要监控用户使用鼠标和键盘对当前标签进行操作,同时也可以对
浏览器特定行为进行监控
2.监听属性分类:
1) 鼠标操作行为:
onclick: 用户是否使用鼠标单击标签
ondbclick: 用户是否使用鼠标双击标签
onchange : 用户是否使用鼠标改变下拉列表选中项
onmouseover:用户是否将鼠标悬停在当前标签上方
onmouseout :用户是否将鼠标从当前标签上方移开
onfocus : 用户是否通过鼠标将光标设置在当前标签上
onblur : 当前标签是否失去了光标
2) 键盘操作行为:
onkeydown: 用户是否按下键盘上某一个按键
onkeyup : 用户是否松开了键盘上某一个按键
3) 浏览器加载行为:
onload: 主要在body标签设置,监控浏览器是否将
body标签进行加载完毕
3.监听属性作用:
监听属性如果发现了用户的操作行为时,自动调用对应JavaScript
函数进行处理
onclick = "处理函数()"
4.如何将监听属性与处理函数进行绑定:
1) 在Html标签内部,通过 [监听属性 = "处理函数名()";]
**** 一次只能为一个html标签进行监听属性与处理函数绑定
2) 一次为多个html标签设置监听属性与处理函数进行绑定
domObj.监听属性 = 处理函数引用对象名;
js object数据类型的更多相关文章
- js常用数据类型(Number,String,undefined,boolean) 引用类型( function,object,null ),其他数据类型( 数组Array,时间Date,正则RegExp ),数组与对象的使用
js常用数据类型 数字类型 | 字符串类型 | 未定义类型 | 布尔类型 typeof()函数查看变量类型 数字类型 Number var a1 = 10; var a2 = 3.66; conso ...
- JavaScript知识 一、JS的数据类型
一.JS的数据类型 1.基本类型 JS共有5大基本类型,分别是: 1)Undefined.他只有一个值:undefined.如果一个变量被定义但是没有给他赋值,那么这个时候系统会默认给这个变量赋值为u ...
- js的数据类型--数字
近期做一些项目的时候发现,自己的js基础还是不够扎实,再看一遍犀牛书,加深自己的理解和印象.所以从这篇文章开始,后面都是关于原生js的一些内容. 这篇文章,我们具体介绍一下js的数据类型其中一种. j ...
- JS基本数据类型&流程控制
JS基本数据类型 number ----- 数值 boolean ----- 布尔值 string ----- 字符串 [x,y] -------数组 undefined ...
- JS基本数据类型和引用数据类型的区别及深浅拷贝
前言 首先我们先来了解一下什么叫栈堆,基本数据类型与引用数据类型 1.栈(stack)和堆(heap)stack为自动分配的内存空间,它由系统自动释放:而heap则是动态分配的内存,大小也不一定会自动 ...
- js之数据类型(对象类型——构造器对象——对象)
JavaScript中除了原始类型,null,undefined之外就是对象了,对象是属性的集合,每个属性都是由键值对(值可以是原始值,比如说是数字,字符串,也可以是对象)构成的.对象又可分为构造器对 ...
- Python--前端基础之JavaScript(JS的引入方式,JS的变量、常量和标识符,JS的数据类型,运算符,流程控制,JavaScript的对象)
JavaScript介绍 JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互. JavaScript是浏览器解释执行的,前端脚 ...
- node.js对象数据类型
在这里复习下前端JS的数据类型:前端JS中的数据类型: 1.基本/原生/值类型 string.number.boolean.null.undefined 2.引用/对象类型 ES对象类型:Str ...
- JS中数据类型及原生对象简介
js是一种专门设计用来给网页增加交互性的编程语言,它的技术体系包含了一下几个方面: 1.JavaScript核心语言定义:包括数据类型,变量,常量,运算符,语句等. 2.原生对象和内置对象 3.浏览器 ...
随机推荐
- [RPM,YUM]RHEL Centos mount local source / RHEL CentOS挂载本地源
RHEL: 使用YUM安装Oracle必要软件包,将操作系统ISO文件“rhel-server-6.5-x86_64.iso”分别上传至两个节点主机“/root”目录,以root用户登录,执行以下命令 ...
- [HNOI/AHOI2018]毒瘤
题目描述 https://www.lydsy.com/JudgeOnline/upload/201804/%E6%B9%96%E5%8D%97%E4%B8%80%E8%AF%95%E8%AF%95%E ...
- Java基础 -- 字符串(格式化输出、正则表达式)
一 字符串 1.不可变String String对象是不可变的,查看JDK文档你就会发现,String类中每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,以包含修改后 ...
- windows下网络编程TCP
转载 sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW): 基于TCP的socket编程 服务器端编程的步骤 ...
- 【caffe】caffe在linux环境下的安装与编译
网上的caffe的安装教程繁杂而散乱,对初学者很不友好,尤其对该框架理解不深的童鞋.总的来说,caffe的安装不外乎几个固定的步骤,对每一步有了一定的理解,安装只是time-consuming的问题! ...
- markdown 【demo】
第一次开始 用markdown 编辑器 public class{ public static void main (String[] agrs){ System.out.println(" ...
- apue——读目录操作
头文件: #define _POSIX_C_SOURCE 200809L #include <sys/types.h> #include <sys/stat.h> #inclu ...
- metasploit与Cobaltstrike互相派生shell
msf 派生 shell 给 Cobalt strike(前提有一个meterpreter) msf exploit(handler) > use exploit/windows/local/p ...
- centos6 升级pip后导致pip不可用
问题:公司内部一台服务器在用pip安装python某个模块的时候提示pip需要升级,然后我就手贱升级了一下,结果悲催了,再次执行pip命令时报错如下: Google了下错误,说是: CENTOS/RH ...
- 题解 P1496 【火烧赤壁】
蒟蒻的第一篇题解,其实这道题是标准的离散化,模拟可以过,但是就没有训练效果了.我们首先先看数据,n<=20000,数据不多,但是范围大(-10^9<=Ai,Bi<=10^9),这时, ...