JS入门熟知
JS是面向对象的语言
- 封装
- 继承
- 多态
- 聚集(对象中具有引用其他对象的能力)
JS使用中绝大多数情况不需要进行面向对象的设计,很多情况是使用已经设计好,准备好的对象,基于对象的语言.
JS的使用(引入)
- jsp、html中直接在script标签中书写
- 在script标签中引入
注意:
- script 标签位置任意. 但是位置越靠前,执行越早.(重要)
- js 外部文件推荐扩展名是.js.但是其实任何后缀名都可以.
- 使用script标签引入外部文件,那么该script标签中就不要书写js代码了.
JS的基本语法
- 变量声明
变量声明使用var,变量区分大小写 str 和 STR 不是同一个变量. 字符串使用双引号("")或单引号('')包裹都可以.变量的类型可以随时改变.命名规则是匈牙利标记法.
var str = 1; var str = "Hello"; //两者之间没有任何区别
- 行尾使用 ";" 作为一行的结束符号.(可以没有";", 以折行符(回车)作为一行的结尾.)(不推荐)
- js 中的注释有两种单行,多行
单行注释"//" 多行注释 "/* */"
- 封装代码块与 java 一样,使用{}.
变量声明时, 前缀 var 也不是必须的.
加var 和 不加 var 有什么区别? 如果不使用var,那么该变量是全局变量
JS的类型
js中类型分为两种
- 原始数据类型
- 对象数据类型
java中 基本数据类型有 byte short int long float double boolean char
js中 原始数据类型有 number(数字,浮点型,整型)
string(js语言的突破,没有char类型.)
boolean
null (用来标示引用数据类型的占位符.通常都是人为赋值.)var person = null;
undefined (由null衍生出来的值,是当我们声明一个变量,)
1.没有给该变量初始化值,那么系统会默认赋值为undefined
2.函数中没有返回值,那么默认返回undefined
原始数据类型 判断符:
typeof 用来判断一个变量是哪种原始类型的.
null会返回object, 是js中的一个bug,这个bug 被认为很贴切.所以保留了该bug.
JS中的语句
java中有循环: for while-do do-while
有判断: if switch
js中语句 与java中一模一样!
特殊: java中的增强for循环在js中没有.
js中有for(var xx in xx) 语句. 用的很少,用来遍历对象的属性.
JS中运算符
一元运算符
一元加法,减法
var a = +1;
var b = -1;
在js中的高级应用.
var c = +"1"; //进行类型转换
var d = +"abc"; // 转换失败,返回number中的特殊值 NaN.
Boolean 运算符 ! && ||
js中自动类型转换. 转换规律 (重点)
string ==> "" 转换为false 其他都为true;
number ==> 除了NaN,+0和-0.其他都转换为true.
null ==> false
undefined ==> false
NaN特性:
NaN参与的任何boolean运算返回值都是false. 除了!=,因为undefined是null衍生出的,所以 alert(undefined == null);// true
比较运算符
alert(11>3); //true
当运算符两端 , 一端是数字,一端是其他类型时, 其他类型会自动向数字类型转换
alert("11">3); // true
alert(11>"3"); //true
字符串在进行比较时 ,规律是: 比较首字符asc码. 如果一样,比较第2位...
alert("11">"3"); // false
alert("11">"1"); // true
alert("abc">11); //false
等性运算符 == != ===
全等于: === 比较时包括类型.
ECMAScript中的对象
- Object 是所有对象的超类.
- var fun1 = new Function("a","b","alert(a+b);");
- var fun2 = function (a,b){alert(a+b);}
- function fun3(a,b){alert(a+b)}
- Function的调用
- js中函数的调用只看函数名称. 调用时内置对象arguments, arguments代表函数运行期间实际参数列表.
arguments.length 实际参数个数
arguments[0] 第一个参数.
应用: arguments 实现函数的重载. - 函数的返回
1. 如果函数没有显示指定返回值,那么函数返回值为undefined.
2. 使用return关键字,返回内容
3. return 关键字,在js中也可以作为结束方法运行的功能.
4. void运算符的应用.
Function对象以及Function的创建
ECMAScript中对对象的分类
- 本地对象
内建对象 不需要创建实例.直接使用 Global Math
主机对象 DOM BOM 两部分.
ECMAScript中3个包装对象.
String Number Boolean
伪对象: string number boolean 这3个原始类型可以看作是伪对象, 能直接调用包装对象的方法和属性.
String对象属性length
重要的方法
indexOf
lastIndexOf
charAt
alert(str1.charAt(0)); //a
charCodeAt 返回所在字符的asc码
alert(str1.charCodeAt(0)); //97
subString
alert(str1.substring(0, 1)); //a
slice 支持负数. 从右往左.
alert(str1.slice(0, -1)); //a
与正则结合的方法
split
replace
match
search
Global对象
JS入门熟知的更多相关文章
- 1. web前端开发分享-css,js入门篇
关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- Ember.js入门教程、博文汇总
第一章 对象模型 Ember.js 入门指南——类的定义.初始化.继承 Ember.js 入门指南——类的扩展(reopen) Ember.js 入门指南——计算属性(compute properti ...
- JS入门之ActiveXObject对象(转载)
JS入门之ActiveXObject对象 此对象提供自动化对象的接口. function ActiveXObject(ProgID : String [, location : String] ...
- Node.js 入门手册:那些最流行的 Web 开发框架
这篇文章与大家分享最流行的 Node.js Web 开发框架.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编 ...
- 【特别推荐】Node.js 入门教程和学习资源汇总
这篇文章与大家分享一批很有用的 Node.js 入门教程和学习资源.Node 是一个服务器端的 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用 ...
- 让我们一起学习《Node.js入门》一书吧!
Node.js入门 读完本书之后,你将完成一个完整的web应用,该应用允许用户浏览页面以及上传文件. 里面对一些知识的讲解,让你略窥Node.js的门径.最好一段代码一段代码的写下来,我的习惯是手里拿 ...
- web前端开发分享-css,js入门篇(转)
转自:http://www.cnblogs.com/jikey/p/3600308.html 关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人 ...
- Node.js入门实例程序
在使用Node.js创建实际“Hello, World!”应用程序之前,让我们看看Node.js的应用程序的部分.Node.js应用程序由以下三个重要组成部分: 导入需要模块: 我们使用require ...
随机推荐
- C++对象模型(二):The Semantics of Copy Constructors(拷贝构造函数之编译背后的行为)
本文是 Inside The C++ Object Model's Chapter 2 的部分读书笔记. 有三种情况,需要拷贝构造函数: 1)object直接为另外一个object的初始值 2)ob ...
- 《java入门第一季》之Date类案例,算一算你的恋爱纪念日
想算你和你对象谈了多久了,还在用笔算吗,是不是很头疼?写个程序算一算吧!会变得如此简单. import java.text.ParseException; import java.text.Simpl ...
- 【Linux 操作系统】Ubuntu 配置 ftp freemind adb
. 1. 配置apt-get源 配置过程 : sudo vim /etc/profile 命令, 在后面添加下面的内容; 刷新配置文件 : source /etc/profie 命令; 刷新源 : s ...
- 简单说说Android自定义view学习推荐的方式
这几天比较受关注,挺开心的,嘿嘿. 这里给大家总结一下学习自定义view的一些技巧. 以后写自定义view可能不会写博客了,但是可以开源的我会把源码丢到github上我的地址:https://git ...
- PO订单审批拒绝API
DECLARE l_return_status VARCHAR2(1); l_return_code VARCHAR2(1000); l_exception_msg VARCHAR2(4000); l ...
- android采用SurfaceView实现文字滚动效果
前言 为了实现文字的滚动效果,之前也重写了TextView效果都不太好,后来对SurfaceView进行完善. 声明 欢迎转载,但请保留文章原始出处:) 小崔博客:http://blog.c ...
- Android特效专辑(八)——实现心型起泡飞舞的特效,让你的APP瞬间暖心
Android特效专辑(八)--实现心型起泡飞舞的特效,让你的APP瞬间暖心 马上也要放年假了,家里估计会没网,更完这篇的话,可能要到年后了,不过在此期间会把更新内容都保存在本地,这样有网就可以发表了 ...
- ActiveMQ系列之三:理解和掌握JMS
JMS是什么 JMS Java Message Service,Java消息服务,是Java EE中的一个技术. JMS规范 JMS定义了Java 中访问消息中间件的接口,并没有给予实现,实现JMS ...
- 【49】java内部类剖析
什么是内部类: 定义在其他类(outer class)中的类被称作内部类.内部类可以有访问修饰服,甚至可以被标记为 abstract 或 final. 内部类与外部类实例有特殊的关系,这种关系允许内部 ...
- ZeroC Ice IceGrid Node和IceGrid
IceGrid Node介绍 绝大多数分布式系统都有一个共同特点,即分布在各个主机上的节点进程并不是完全独立的,而是彼此之间有相互联系和通信的.集群对集群中的节点有一些控制指令,如部署.启停或者调整某 ...