JavaScript学习日志(2)
javascript数据类型:
字符串string、数字number、未定义Undefined、空Null、布尔Boolean、数组Array、对象Object。
javascript对象:
对象由花括号分隔,在括号内部,对象的属性以名称和值的形式(name:value)来定义,属性由逗号分隔。
对象的创建推荐用var people={Name:'jerry',Age:21,eat:function(){} }
也可以创建对象再追加属性和方法:
var people=new Object();
people.Name='jerry';
people.Age=21;
people.eat=function(){};
定义类:function People(name,age){
this.Name=name;
this.Age=age;
this.eat=function(){};
}
var people=new People();
对象的方法定义了一个函数,并作为对象的属性存储,对象方法通过添加()调用。
function test(){
var person={name:'小明',age:18,eat:function(){ return '吃苹果' }};
alert(person.eat); //function(){return '吃苹果'}
alert(person.eat()); // '吃苹果'
}
javascript变量:
在javascript函数内部声明的变量(使用var)是局部变量,只能在函数内部访问它。
在函数外声明的变量是全局变量,javascript变量的生命期从它们被声明的时间开始,局部变量在函数运行以后被删除,全局变量在页面
关闭后被删除。
向未声明的变量赋值,该变量将被自动作为全局变量声明。
carName=‘BYD'; 将声明一个全局变量carName
函数内未声明即使用的变量 function test(){ carName='BYD' }
在test()被第一次调用之前,carName变量是不存在的即undefined,函数被调用之后,carName将变成全局变量。
javascript==与===区别
1、对于string、number等基础类型,== 和 === 是有区别的
a)不同类型间比较,==是"转化成同一类型后"比较值是否相等,===如果类型不同,其结果不等。
b)同类型比较,直接进行值比较,两者结果一样。
2、对于Array、object等高级类型,==和===没有区别,进行指针地址比较。
3、基础类型与高级类型,==和===是有区别的
a)对于==,将高级转化成基础类型,进行值比较。
b)因为类型不同,===结果为false。
4、!=是==的非运算,!==是===的非运算。
var num=1;
var str='1';
var test=1;
num==test; //true 类型相同,值相同
num===test; //true 类型相同,值相同
num==str; // true 把str转换为数字,两者值相等
num===str; //false 类型不同
for/in循环遍历对象的属性。
JavaScript学习日志(2)的更多相关文章
- javascript学习日志:前言
javascript学习日志系列的所有博客,主要理论依据是<javascript权威指南>(犀牛书第6版)以及<javascript高级程序设计第三版>(红色书),目前js行业 ...
- JavaScript学习日志(六):事件
这篇随笔,深恶痛绝,敲到快结束的时候,凌晨00:19,突然闪退,也不知道是Mac的原因还是chrome的原因,重新打开的时候,以为自动保存有效果,心想没关系,结果他么的只保存了四分之一,WTF?!!! ...
- JavaScript学习日志(五):DOM
一,基本定义 DOM是针对HTML和XML文档的API,根据W3C的HTML DOM标准,html文档中所以内容(无论是元素还是标签还是注释还是元素属性)都是节点. 二,Node类型:每一个节点都含有 ...
- JavaScript学习日志(四):BOM
BOM的核心对象就是window,这一章没什么好说的,总结一些比较常用的: 1,a未定义,a; //报错window.a; //undefined 不能用delete删除全局变量 2,html5不支持 ...
- JavaScript学习日志(一):变量,作用域和内存问题
一,变量分为两种类型:基本类型值和引用类型值,基本类型包括:Undefined, String, Boolean, Null, Number,我们无法给基本类型值添加属性: 二,复制变量值的时候,如果 ...
- JavaScript学习日志:关于js分号
javascript有自动添加分号的功能,但是不是所有情况都会自动添加,要区分: 1,如果语句独占一行 如果当前行内的语句能够被js正确解析,那么就会在句尾添加一个分号. (如何判断是否正确解析?你在 ...
- JavaScript学习日志(1)
javascript用法: 1.HTML中的脚本必须位于<script>与</script>标签之间,可被放置在HTML页面的<body>和<head> ...
- Javascript学习日志(三):闭包
说实话,前面一节的原型和原型链在当初学的时候并没有很头疼,对着高级编程第三版撸了几遍就理解透了,闭包这一节真的挺头疼的,很惭愧,看了差不多十来遍吧,还翻看了网上的其他博客和解释文档,五花八门的表达方式 ...
- JavaScript学习日志(二):面向对象的程序设计
1,ECMAScript不像其他面向对象的语言那样有类的概念,它的对象与其他不同. 2,ECMAScript有两种属性:数据属性和访问器属性.([[]]这种双中括号表示属性为内部属性,外部不可直接访问 ...
随机推荐
- API Monitor---------------Using API Monitor to crack copy protected software
For this tutorial we will be using Mirial Softphone which is a HD video conferencing application. Th ...
- sqlmap原理及使用方法
1 . 介绍1.1 要求 1.2 网应用情节 1.3 SQL 射入技术 1.4 特点 1.5 下载和更新sqlmap 1.6 执照 2 . 用法2.1 帮助 2.2 目标URL 2.3 目标URL 和 ...
- vue项目配置使用flow类型检查
你是否经常在debug那些简单可避免的bug?可能你给函数传参的时候搞错了参数的顺序,或者本来应该传个Number类型的参数,你传了一个String类型?JavaScript的弱类型是这一类bug的罪 ...
- win8.1 64位环境搭建android开发环境
1.下载JDK,http://www.oracle.com/technetwork/java/javase/downloads/index.html,选择版本 2.安装刚刚下载的JDK 3.环境变量配 ...
- LVS+keepalived+nginx
LVS是Linux Virtual Server的简写,基于4层协议不处理,不响应,只转发,速度更快 wget -c http://www.linuxvirtualserver.org/softwar ...
- java 获取进程的processId
package us.mine.demo.jvm.util; import java.lang.management.ManagementFactory; import java.lang.manag ...
- 病毒木马查杀实战第015篇:U盘病毒之脱壳研究
前言 因为我们的终于目标是编写出针对于这次的U盘病毒的专杀工具.而通过上次的分析我们知道,病毒有可能在不同的计算机中会以不同的名称进行显示.假设真是如此,那么就有必要在此分析出病毒的命名规律等特征,然 ...
- 用开源NGINX-RTMP-MODULE搭建FLASH直播环境
用开源nginx-rtmp-module搭建flash直播环境 1.将nginx和nginx-rtmp-module的源码包解压PS:nginx-rtmp-module网址https://github ...
- onWindowFocusChanged重要作用(得到/失去焦点call) 、
onWindowFocusChanged重要作用 Activity生命周期中,onStart, onResume, onCreate都不是真正visible的时间点,真正的visible时间点是onW ...
- DB文件会生成在哪里以及生成的个数是多少?
当系统发生Kernel Exception.System Server异常等问题时.MTK内部机制会抓取相关异常调试信息.产生相应的DB文件,放到aee_exp目录下.而在不同的情况下.aee_exp ...