JavaScript的基础

JavaScript是一种基于对象和事件驱动的、并具有安全性能的脚本语言

    JavaScript的特点:

(1)、向HTML页面中添加交互行为

(2)、脚本语言,语法和Java类似

(3)、解释型语言,边执行边解释

    JavaScript组成:

ECMAScript:类似于JS的API

DOM:页面对象操作

BOM:浏览器对象操作

    JavaScript的基本结构:

<script type="text/javascript">

    <!—


JavaScript 语句;

    —>

</script >

    JavaScript的执行原理:

                1、浏览器接收用户请求

                 2、向服务器端请求某个包含JavaScript的页面

                 3、服务器端把包含JavaScript的HTML文件发送到浏览器客户端,浏览器逐条解析HTML标 签和JavaScript,并将效果呈现给用户

***  先解析HTML 再解析JavaScript

var  用于声明变量的关键字

var width;

width=5;先声明再赋值

var x,y,z=10; 同时声明和赋值变量(可以同时声明多个赋相同的值)

width =  10;不声明直接赋值

数据类型

undefined  空值

null 空值

number 整数和浮点数

boolean true或false

string 用单引号或双引号声明的字符串

object JavaScript中的数组

typeof运算符:

typeof检测变量的返回值

typeof运算符返回值如下

undefined:变量被声明后,但未被赋值

string:用单引号或双引号来声明的字符串

boolean:true或false

number:整数或浮点数

object:javascript中的对象、数组和null

String对象

属性

var str="this is JavaScript";

var strLength=str.length; //长度是18

方法:

字符串对象.方法名()

charAt(index) 返回在指定位置的字符

indexOf(str,index)  查找某个指定的字符串在字符串中首次出现的位置

substring(index1,index2)    返回位于指定索引index1和index2之间的字符串 ,并且包括索引index1对应的字符,不包括索引index2对应的字符

split(str) 将字符串分割为字符串数组

数组

创建数组:var 数组名称 = new Array(size);

赋值的方法一:

var fruits = new Array("apple","orange","peach");

方法二:

var fruits = new Array(3);

fruits[0] = "apple";

fruits[1] = "orange";

fruits[2] = "peach";

数组常用属性和方法:

属性:

length  设置或返回数组中元素的数目

方法:

join()    把数组的所有元素放入一个字符串,通过分隔符进行分隔

sort()    对数组排序

push()  向数组末尾添加一个或多个元素,并返回新的长度

运算符号:

算术运算符:

+  -  *  /  %  ++  --

赋值运算符:

=  +=  -=

比较运算符:

>  <  >=  <=  ==  !=  ===  !==

逻辑运算符:

&&  ||  !

      === 恒等于

      类型和值都相等才相等

++和--

不赋值的情况下没有任何区别   

逻辑控制语句

if条件语句

switch多分支语句

for、while循环语句

for-in

for(var 变量  in  数组){  }

注释

单行注释://

多行注释:/*....*/

常用系统函数

parseInt ("字符串")

将字符串转换为整型数字

如: parseInt ("86")将字符串“86“转换为整型值86

parseFloat("字符串")

将字符串转换为浮点型数字

如: parseFloat("34.45")将字符串“34.45“转换为浮点值34.45

用于检查其参数是否是非数字

isNaN()

事件:

    onload 一个页面或一副画像完成加载

    onclick 鼠标单击某个对象

    onmouseover 鼠标指针移到某元素上

    onkeydown 某个键盘按键被按下

    onchange 域的内容被改变

BOM:浏览器对象模型(Browser Object Model)

BOM提供了独立于内容的、可以与浏览器窗口进行互动的对象结构

BOM可实现的功能:

弹出新的浏览器窗口

移动、关闭浏览器窗口以及调整窗口的大小

页面的前进、后退

history 有关客户访问过的URL的信息

常用方法:

      back()        加载history对象列表中的前一个URL

      forward()    加载history对象列表中的下一个URL

      go()            加载history对象列表中的前一个URL

location 有关当前URL的信息

常用属性:

      host 设置或返回主机名和当前URL的端口号

      hostname 设置或返回当前URL的主机名

      href 设置或返回完整的URL

常用方法:

      reload() 重新加载当前文档

      replace() 用新的文档替换当前文档

window对象的常用方法

prompt() 显示可提示用户输入的对话框

alert() 显示带有一个提示信息和一个确定按钮的警示框

confirm() 显示一个带有提示信息、确定和取消按钮的对话框

close() 关闭浏览器窗口

open() 打开一个新的浏览器窗口,加载给定URL所指定的文档

setTimeout() 在指定的毫秒数后调用函数或计算表达式

setInterval() 按照指定的周期(以毫秒计)来调用函数或表达式

清除函数:

clearTimeout()

clearInterval()

confirm()与alert ()、 prompt()区别:

alert( ):一个参数,仅显示警告对话框的消息,无返回值,不能对脚本产生任何改变

prompt( ):两个参数,输入对话框,用来提示用户输入一些信息,单击“取消”按钮则返回null,单击“确定”按钮则返回用户输入的值,常用于收集用户关于特定问题而反馈的信息

confirm( ):一个参数,确认对话框,显示提示对话框的消息、“确定”按钮和“取消”按钮,单击“确定”按钮返回true,单击“取消”按钮返回false,因此与if-else语句搭配使用

open() 方法:

window.open("弹出窗口的url","窗口名称","窗口特征”);

窗口特征的属性:

height、width 窗口文档显示区的高度、宽度。以像素计

left、top 窗口的x坐标、y坐标。以像素计

Document对象

常用属性:

referrer    返回载入当前文档的URL

URL 返回当前文档的URL

常用方法:

getELementById() 返回对拥有指定id的第一个对象的引用

getElementByName() 返回带有指定名称的对象的集合

getElementByTagName() 返回带有指定标签名的对象的集合

write() 向文档写文本、HTML表达式或JavaScript代码

Date对象:var 日期对象 = new Date()

常用方法

getDate() 返回Date对象的一个月中的每一天,范围(1~31);

getDay() 返回Date对象的星期中的每一天,范围(0~6);

getHours() 返回Date对象的小时数,范围(0~23);

getMinutes() 返回Date对象的分钟数,范围(0~59);

getSeconds() 返回Date对象的秒数,范围(0~59);

getMonth() 返回Date对象的月份,范围(0~11);

getFullYear() 返回Date对象的年份,其值为4位数

getTime() 返回自某一时刻(1970年1月1日)以来的毫秒数

Math对象

ceil() 对数字进行上舍入

floor() 对数字进行下舍入

round() 四舍五入

random() 返回0~1之间的随机数

DOM:文档对象模型(Document Object Model)

节点属性:

parentNode 返回节点的父节点

childNodes 返回子节点集合,childNodes[i]

firstChild 返回节点的第一个子节点,最普遍的用法是访问该元素的文本节点

lastChild 返回节点的最后一个子节点

nextSibling 下一个节点

previousSibling 上一个节点

element属性:

firstElementChild 返回节点的第一个子节点,最普遍的用法是访问该元素的文本节点

lastElementChild 返回节点的最后一个子节点

nextElementSibling 下一个节点

previousElementSibling 上一个节点

style属性:

onclick 当用户单击某个对象时调用事件

onmouseover 鼠标移到某元素之上

onmouseout 鼠标从某元素移开

onmousedown 鼠标按钮被按下

操作节点属性

getAttribute("属性名")

setAttribute("属性名","属性值")

创建、插入和删除节点

createElement( tagName) 创建一个标签名为tagName的新元素节点

A.appendChild( B) 把B节点追加至A节点的末尾

insertBefore( A,B ) 把A节点插入到B节点之前

cloneNode(deep) 复制某个指定的节点

removeChild( node) 删除指定的节点

replaceChild( newNode, oldNode) 用其他的节点替换指定的节点

获取元素的样式:

兼容IE:document.getElementById("cartList").currentStyle.display

不兼容IE: document.defaultView.getComputedStyle(cartList,null).display

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,752评论 0 8
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,082评论 0 3
  • 第1章 认识JS JavaScript能做什么?1.增强页面动态效果(如:下拉菜单、图片轮播、信息滚动等)2.实现...
    mo默22阅读 1,244评论 0 5
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,096评论 0 21
  • 第1章 系好安全带,准备启航 1.1让你认识JS 1.1.1 JavaScript能做什么?增强页面动态效果(...
    张中华阅读 1,347评论 4 10