当前位置: 首页 > 编程日记 > 正文

二、JavaScript基础 学好jQuery要了解的

JavaScript与ECMAScript

ECMAScript 通过ECMA-262标准的脚本程序设计语言

ECMAScript标准下有 javascript jscript actionscript

JavaScript分为值类型和引用类型两大类,有时也称为原始值和引用值。值类型:存储在栈(stack)中,一个值类型的变量其实是一个内存地址,地址中存储的就是值本身。引用类型:存储在堆(heap)中,一个引用类型的变量的值是一个指针,指向存储对象的内存处。

还可以将javascript对象分为 本地对象、内置对象、宿主对象。

实际使用中为了使javascript真正单纯,可以将javascript中的类型分为:undefined、null、number、string、boolean、function、Object引用类型。

function就是一种引用类型。另外javascript的值类型背后其实也是一个“引用类型”,就是所有的类型都是从Object中派生而来。比如Number是一个“值类型”,但是其实存在一个引用类型“Number”,可以使用如下方式声明:var oNumberObject = new Number(55);  我们一般都是这样声明 var iNumberObject = 55;

undefined:表示一个对象没i有被定义或者没有被初始化。

null:表示一个尚未存在的对象的占位符。

有意思的是undefined类型是从null派生来的。所以他们是相等的:alert(null == undefined);输出true。

var oTemp = null;

if(oTemp){};//false

if(undefined)();//false

上面的语句if的条件都是false。但如果注释掉var oTemp = null;就会error。

但是无论是否声明过oTemp对象,使用typeof运算符获取到的都是undefined并且不会报错。

alert(typeof oTemp1);//输出"undefined"

所以在程序中使用一个可能没有定义过的变量,并且没有使用typeof做判断,那么就会出现脚本错误。此变量是null或者没有初始化的undefined对象,可以通过if或者==来判断。

未声明的对象只能使用typeof运算符来判断。

typeof运算符返回的都是一个字符串。而程序员经常当作类型来使用。

下面是typeof运算符对各类型的返回结果。

undefined:undefined

null:object

string:string

number:number

boolean:Boolean

function:function

object:object

提醒,一个没有返回值的function实际上返回的是undefined.

显示声明变量var iNum,sName;

即使变量的类型在初始化时已经被确定,但仍然可以在之后把他设置为其他类型。

var sName = "ajax"; sName = 55;

隐式声明不使用var关键词,而直接为变量赋值。隐式声明的变量总是被创建为全局变量。

javascript命名方法:变量用匈牙利命名法,var sName; var iNum;函数用Camel命名法,testMethod();

全局变量是window对象的属性。作用域是当前window窗体。window.sName.

闭包:是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。

简单表述闭包:闭包就是function实例以及执行function实例时来自环境的变量。

闭包在javascript中是隐式创建的。

转载于:https://www.cnblogs.com/tomkillua/archive/2012/07/26/2609492.html

相关文章:

一文综述经典的深度文本分类方法

作者 | 何从庆转载自AI算法之心(ID:AIHeartForYou)笔者整理最近几年比较经典的深度文本分类方法,希望帮助小伙伴们了解深度学习在文本分类中的应用。Convolutional Neural Networks for Sentence Classification (EMNLP 2014)Kim在EMNLP2014…

【FFmpeg】便捷函数汇总(持续更新中...)

音频相关: 1、由通道布局获取通道数 int av_get_channel_layout_nb_channels(uint64_t channel_layout);2、由通道数获取默认的通道布局 int64_t av_get_default_channel_layout(int nb_channels);3、返回采样格式对应的字符串名字 const char *av_get_sample_fm…

云服务器代金券

最近腾讯云与阿里云的促销活动都很好,有需要云服务器的可以领取代金券购买 https://www.art-china.club/ 至于配置调试的问题,可以问我,友情帮忙。转载于:https://blog.51cto.com/dnuser/2167896

NLP最新资源:论文、代码、博客、视频一应俱全

整理 | Rachel出品 | AI 科技大本营(ID:rgznai100)【导读】在近几年,NLP 领域得到了快速的发展,包括 ELMo ,BERT在内的新方法不断涌现,显著提高了模型在一系列任务的表现。在本文中,…

android在线播放音乐

2019独角兽企业重金招聘Python工程师标准>>> android在线音乐 一种方法是调用android自带的播放器 //调用系统自带播放器Intent intent new Intent();Uri uri Uri.parse("http://mul1.tximg.cn/music/group/bbs/mp3/44/100715/1279159638887.mp3?z909255638…

head和tail命令详解

基础命令学习目录首页 原文链接:https://www.cnblogs.com/amosli/p/3496027.html 当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相反,我们可能只需要看文件的一小部分地内容(例如文件的前十…

【FFmpeg】ffmpeg工具源码分析(四):filter(过滤器、滤镜)详解

1、简介 FFmpeg用来处理音视频,实现处理功能的核心就是filter(滤镜),和我们使用的美颜功能的滤镜意思差不多,FFmpeg的filter(滤镜)不仅可以处理视频,还能处理音频、字幕等。 官方说明: 在编码之前,ffmpeg可以使用 libavfilter 库中的过滤器处理原始音频和视频帧。几…

【ZooKeeper Notes 14】数据模型

转载请注明:ni掌柜 nileadergmail.com本文主要讲述ZooKeeper的数据模型,包括ZooKeeper的数据视图,节点的层次结构以及节点类型等基本属性。Zookeeper的视图结构类似标准的Unix文件系统,但是没有引入文件系统相关概念:目…

李理:为什么说人工智能可以实现?

作者 | Just出品 | AI科技大本营(ID:rgznai100)尽管市面上关于深度学习的书籍很多,环信 AI 负责人李理认为大部分只关注理论或只关注实践。于是,基于他对深度学习多年的理解,自己着整理手写了一本深度学习理论与实战书…

【FFmpeg】FFmpeg编解码H264产生马赛克、伪影的解决方法

1、问题描述 使用FFmpeg编码H264,再解码显示时,产生马赛克:有时是在画面静止时,静止时间越长,马赛克、伪影越多;有时是在画面切入切出时;有时是在网络带宽不够时 2、原因分析 2.1 丢帧 网络状况差的情况下(带宽不足),容易丢帧,在视频画面播放过程中,若I帧丢失了,…

LINUX内核升级

内核版本是2.6.18,新的内核是2.6.26。 1.下载新内核,下载网站www.kernel.org 2.copy内核到/usr/local/src下 3.解压内核 解压内核命令 tar -xjvf linux-2.6.26.tar.bz2 4.清理以前编译所生成的文件 命令为 make distclean,如果以前没有编…

我在美团的这两年,想和你分享

作者 | 石晓文来源 | 小小挖掘机(ID:wAIsjwj)012017.08.14,结束了两周的等待,如愿以偿开始了自己的美团实习生活,本来抱着三五个月走人,争取下一份实习的心态,没想到一直到转为暑期实…

【Qt】QtCreator updatePchInfo:switching to none

1、Pch名词解释 Pch(PreCompiled Headers)预编译头文件。 使用方法: CONFIG+=precompile_header PRECOMPILED_HEADER=XXX.h 2、updatePchInfo:switching to none 和QtCreator代码格式化Beautifier插件配置了clang code model有关系。 猜测:clang分析预编译头文件相关,…

学习框架、库的经验

熟悉基础语法把框架的功能过一遍,看看有哪些功能从文档的demo入口去学习上手会更快在你的开发目录要有一个专门写demo的页面,用以调试页面,试验新功能如果框架或者库提供有demo则更好,可以从中得到很多有用的东西

开源应用程序结构

2019独角兽企业重金招聘Python工程师标准>>> 给有兴趣的同学介绍的。这里面介绍了很多著名的开源软件的架构,相信读后会有所收获。 地址:http://www.aosabook.org/en/index.html 转载于:https://my.oschina.net/qinlinwang/blog/71649

免费GPU哪家强?谷歌Kaggle vs. Colab

作者 | Jeff Hale译者 | Monanfei责编 | 夕颜出品 | AI科技大本营(id:rgznai100)谷歌有两个平台提供免费的云端GPU:Colab和Kaggle, 如果你想深入学习人工智能和深度学习技术,那么这两款GPU将带给你很棒学习…

【SVN】svn“E155017工作副本的参考文件损坏、E200014文件校验和不匹配”的解决方法

1、问题描述 在执行svn提交时报错 svn: E155017: 工作副本的参考文件损坏 svn: E200014: ‘test.cpp’ 的文件校验和不匹配: 期望:xxxx 实际:xxxx 2、解决方法 2.1 拷贝 最好将提交的项目拷贝一份; 2.2 删除 使用svn rm --k…

QT程序启动加载流程简介

1. QT应用程序启动加载流程简介1.1 QWS与QPA启动客户端程序区别1.1.1 QWS(Qt Window System)介绍QWS(Qt Windows System)是QT自行开发的窗口系统,体系结构类似X Windows的C/S结构。QWS Server在物理设备上显示,QWS Client实现界面,两者…

QQ2012 Under Ubuntu

下载地址: QQ2012 Under Ubuntu转载于:https://www.cnblogs.com/ismdeep/archive/2012/08/09/2630067.html

25亿布局大湾区,创新工场的AI下一站

2019年6月5日,创新工场大湾区总部正式开业启动,集“产业投资AI 研究院商业赋能落地”三个功能为一体。当天创新工场还首次分享人工智能工程院成立两年来的成绩单,创新奇智的大湾区布局,并发布大湾区人才战略。创新工场也正式宣布第…

【TX2】TX2开发板系统默认串口有ttyS0(调试口)、ttyTHS1、ttyTHS2、ttyTHS3,通过修改设备树文件,可以新增三个串口

1、简述 TX2开发板系统默认串口有ttyS0(调试口)、ttyTHS1、ttyTHS2、ttyTHS3,通过修改设备树文件,可以新增三个串口。 2、设备树 设备树中关于串口部分的描述 2.1 基础配置 注意:在这里状态都配置成禁止&#xff…

unix的发展

转载http://blog.51cto.com/1193432/1671058转载于:https://www.cnblogs.com/vwei/p/9588823.html

让你的输入框使用Google云语音输入技术

2019独角兽企业重金招聘Python工程师标准>>> 只需一行代码,你的网站上面输入框(input),直接可以在谷歌浏览器(chrome)上面使用Google的云语音输入技术。 在你的输入框input的HTML属性里面&#…

速度超Mask RCNN四倍,仅在单个GPU训练的实时实例分割算法 | 技术头条

作者 | Daniel Bolya Chong Zhou Fanyi Xiao Yong Jae Lee译者 | 刘畅责编 | Jane出品 | AI科技大本营(id:rgznai100)【导读】在论文《YOLACT:Real-time Instance Segmentation》中,作者提出了一种简洁的实时实例分割全…

JSP内置对象基础知识小结

JSP提供9大内置内象:一、request内象:封装了由客户端生成的HTTP请求的所有细节,主要包括了http头信息,系统信息,请求方式,请求参数等。1、获取访问请求参数:request.getParameter("arg&quo…

一个正执行的程序如何启动另一新程序并关闭现执行程序

最简单的方法有两个函数即可实现: //启动新程序WinExec("存放另一新程序的路径", SW_SHOW);//关闭现执行软件 ExitThread(0); 若在win ce 下,用WinExec这个函数就不对了,那时就应该用ShellExecuteEx了。 SHELLEXECUTEINFO ShExecIn…

【android】java.lang.NoClassDefFoundError或classnotfount等异常错误

在android上开发,当导入一个外部的包,可能会出现这类错误,我已经两次碰到了,一次是用科大讯飞的android开发包,另一次是用Jsoup包(html 解析)。 解决方案: 先去掉加入的外部包 不要把…

Java面试题(一)部分题目

博主马上要面对几家公司的面试,故自己准备了点面试题,仅供参考! 1,线程的创建的方式:答:1,继承Thread(注意,此类其实也是实现了Runnable接口的),2,实现Runnable接口2,1. …

在win ce中如何使正在运行的软件自动升级更新

创建两个独立的程序A和B:A是现正在运行的程序,B是用于辅助新版本的A覆盖旧版A 在客户端先运行A,使A提供从服务器端下载新版A放于一临时文件夹中,并运行B,关闭A; 运行的B用于执行:用新版A覆盖旧…

刘铁岩:AI打通关键环节,加快物流行业数字化转型

导语:近日,在微软亚洲研究院创新论坛上,微软亚洲研究院副院长刘铁岩分享了关于“AI物流”行业的实践经验。以下为其发言内容。 随着时代的发展,人工智能成为了决定性的技术,我们所谈的企业数字化转型也正在从“互联网”…