js基础语法

js总的来说

1.被所有主流的浏览器支持并被大部分网页使用

2.他可以在网页上呈现动态效果

对于js代码的位置

1.使用<script>标签在html网页中插入

2.既可以在html文件中直接添加js代码,也可以从外部把js文件进行引入(在js文件中不需要<script>标签)

js不能直接运行,我们需要在HTML中添加如下代码

<script src="script.js"></script>  

3.js在页面中在任何位置都可以放置,但是我们一般把他放在head或者body里面

(js作为一种脚本语言可以在任何位置放置,但浏览器解释代码是都是从前到后,如果放在前面则先被初始化,如果页面用js进行初始化则要把它放在head里


1.变量

变量是可变的量

1.变量的命名法则与c语言相似(需要用字母下划线或者美元符号进行开头,后面可以加上数字)

2.变量用var进行命名

var mynum

需要注意的是变量可以不声明直接使用

3.特殊之处在于var可以定义各种数据类型的变量


2.+操作符(附带着表达式)

可以进行加减和字符串链接运算

1.操作符

sum=numa+numb;//这就是一个表达式

2.连接字符

mystring="java"+"Script";//这也是一个表达式


3.自加自减,和逻辑运算符,和关系运算符与c相似

1.自加自减与c相似

2.关系运算符

var a=5;

var b=6;

document.write(a<b)//输出真(true)


3.&&为且运算符||为或!为非运算符

4.算术运算符》关系运算符》逻辑运算符》=赋值符号


4.定义数组

var mybox =new array()

1.创建的数组是空数组没有值,若输出,则为undefined

2.虽然制定了长度,但实际上可以大于限制的长度

有两种方法为数组进行赋值

第一种方法

var myarray=new Array(1,2,3)

第二种方法

var myarray=[1,2,3]

可以运用c中数组赋值方法对数组进行赋值

3.对于二维数组。

声明方式一

var myarr=new Array(); //先声明一维  for(var i=0;i<2;i++){ //一维长度为2 myarr[i]=new Array(); //再声明二维  for(var j=0;j<3;j++){ //二维长度为3 myarr[i][j]=i+j; // 赋值,每个数组元素的值为i+j } }

定义方式二

var myarray=[[1,2],[3,4]]:

5.for循环while循环,break,continue循环控制,if else等多重嵌套,swatich等语法

语法与c十分相似,就不再一一赘述


6.函数

函数是完成某个特定功能的一组语句。如没有函数,完成任务可能需要五行、十行、甚至更多的代码。这时我们就可以把完成特定功能的代码块放到一个函数里,直接调用这个函数,就省重复输入大量代码的麻烦。

函数的大致代码如下

function 函数名() {      函数代码; }

说明:

1. function定义函数的关键字。

2. "函数名"你为函数取的名字。

3. "函数代码"替换为完成特定功能的代码。


1.函数的调用方数与c中相同,只有调用后函数才可以使用

2.带参函数和函数的返回值使用方式也和c相似


7.事件

JavaScript 创建动态页面。事件是可以被 JavaScript 侦测到的行为。 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件。

1.onclick事件

onclick是鼠标单击事件,当在网页上单击鼠标时,就会发生该事件。同时onclick事件调用的程序块就会被执行,通常与按扭一起使用

onclick放在input里面

2.onmouseover

当鼠标移到一个对象上时,该对象就触发onmouseover事件,并执行onmouseover事件调用的程序。

用法与onclick相同

3.onmouseout

鼠标移开事件,当鼠标移开当前对象时,执行onmouseout调用的程序。

4.onfocus

当网页中的对象获得聚点时,执行onfocus调用的程序就会被执行。

5.onblur

onblur事件与onfocus是相对事件,当光标离开当前获得聚焦对象的时候,触发onblur事件,同时执行被调用的程序。

6.onselect

为选中文件,选中事件,当文本框或者文本域的文字被选中是就会触发

7.onchange

通过改变文本框内的文字时就会触发此事件


对象

至于什么是对象

JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。

对象的属性和方法是对象的重要组成元素

对象的属性:反映该对象某些特定的性质的,如:字符串的长度、图像的长宽等;

对象的方法:能够在对象上执行的动作。例如,表单的“提交”(Submit),时间的“获取”(getYear)等;

使用对象前要先进行定义

var myarray=new Array()

可以用对象点属性来访问对象的属性

对于方法的访问与对于属性的访问相似


下面介绍几种比较常用的内置对象

1.日期对象

get/setDate用来返回和设置日期

get/setFullYear()用来返回设置年份,(完整的用四位数表示的年份)

get/setYear用来设置年份

还可以设置和返回月每小时,分钟,秒等,用法与上述方法相似

document.write(my date.getFullYear());
my date.setFullYear(81);6可以把年份设置为四位

getDay()返回星期,返回的是0-6的数字0代表周日

用法跟年份相似

对于日期的设置方法

时间推迟一小时就用x.setTime(x.getTime()+60*60*1000);

2.string字符串对象

定义字符串的方法就是直接赋值

用length计算对象的长度

用toUpperCase()方法将字符串串转化成大写

用charAt()方法可以返回指定位置的字符

需要注意的是,如果第一个字符的下标为0最后一个字符串要减一,如果超出了字符串的范围,则会返回一个空字符串,一个字符也算是一个字符串

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

stringObject.indexOf(substring, startpos)  第一个参数是用来写出要查找的字符,第二个参数为查找的范围

1.该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 substring。

2.可选参数,从stringObject的startpos位置开始查找substring,如果没有此参数将从stringObject的开始位置查找。

3.如果找到一个 substring,则返回 substring 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。

注意:1.indexOf() 方法区分大小写。

2.如果要检索的字符串值没有出现,则该方法返回 -1。


split() 方法将字符串分割为字符串数组,并返回此数组

stringObject.split(separator,limit)第一个参数是用来显示从该位置开始进行划分


substring() 方法用于提取字符串中介于两个指定下标之间的字符。

stringObject.substring(startPos,stopPos) 第一个参数为初始位置第二个为结束位置

与此相似的是

substr() 方法从字符串中提取从 startPos位置开始的指定数目的字符串。


3.数学对象


E           欧拉常量,自然对数的底(约等于2.718)

LN2          2的自然对数(约等于0.693)

LN10          10的自然对数(约等于2.302)

LOG2E         以2为底的e的对数.(约等于1.442)

LOG10E         以10为底的e的对数(约等于0.434)

PI           ∏的值(约等于3.14159)

SQRT1_2        1/2(0.5)的平方根(即l除以2的平方根,约等于o.707)

SQRT2         2的平方根(约等于1.414)

方法:

abs(x)     返回数字的绝对值

acos(x)    返回数字的反余弦值

asin(x)    返回数字的反正弦值

atan(x)    返回位于-PI/2 和 PI/2 的反正切值

atan2(y,x) 返回(x,y)位于 -PI 到 PI 之间的角度

ceil(x)    返回 x 四舍五入后的最大整数

cos(x)     返回一个数字的余弦值

exp(x)     返回 E^x 值

floor(x)    返回 x 四舍五入后的最小整数

log(x)     返回底数为E的自然对数

max(x,y)    返回 x 和 y 之间较大的数

min(x,y)    返回 x 和 y 之间较小的数

pow(x,y)    返回 y^x 的值

random()    返回位于 0 到 1 之间的随机函数

round(x)    四舍五入后取整

sin(x)     返回数字的正弦值

sqrt(x)    返回数字的平方根

tan(x)     返回一个角度的正切值

toSource() 显示对象的源代码

valueOf() 返回数学对象的原始值


4.数组对象

数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的

concat属性用来连接多个数组

join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。

reverse() 方法用于颠倒数组中元素的顺序。

slice() 方法可从已有的数组中返回选定的元素。

sort排序



下面对浏览器对象进行介绍

setInterval在执行时,从载入页面后每隔指定的时间执行代码

例如

setInterval(clock,1000)第一个参数为调用的函数,第二个参数为交互的时间(以毫秒为计数单位)

clearinterval()方法是用来取消setInterval()设置的交互时间

括号里面的参数为set函数返回的值

setTimeout()计时器在载入后延迟一段时间然后执行禁止性一次

clearTimeout()用来清除

history对象记录了用户浏览过的页面

window.history.属性方法


属性含有length返回浏览器历史列表中的url数量

方法含有back()返回上一个

forward()加载上一个

go()进入某个具体的页面

location对象用于获取或设置窗体的url并且可以用来解析url

hash:如果URL中包含有“#”,该方法将返回该符号之后的内容(例如:http://www.sunchis.com/index.html#welcome的hash是“#welcome”)。

host:服务器的名字,例如www.sunchis.com。

hostname:通常等于host,有时会省略前面的www。

href:当前页面载入的完整URL。

pathname:URL中主机名之后的部分。例如:http://www.sunchis.com/html/js/jsbasic/2010/0319/88.html的pathname是“/html/js/jsbasic/2010/0319/88.html”。

port:URL中声明的请求端口。默认情况下,大多数URL没有端口信息(默认为80端口),所以该属性通常是空白的。像http://www.sunchis.com:8080/index.html这样的URL的port属性为8080。

protocol:URL中使用的协议,即双斜杠(//)之前的部分。例如http://www.sunchis.com中的protocol属性等于http:,ftp://www.sunchis.com的protocol属性等于ftp:。

search:执行GET请求的URL中的问号(?)后的部分,又称查询字符串。例如http://www.sunchis.com/search.html?tern=sunchis中的search属性为?term=sunchis。

方法:

assign()加载新的文档

reload()重新加载当前的文档

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


navigator对象包含有关浏览器的信息通常用于检测浏览器和操作系统的版本

var appCodeName= window.navigator.appCodeName;//返回与浏览器相关的内部代码名  都为Mozilla

var appName=navigator.appName;//返回浏览器正式名称  均为Netscape

var appVersion=navigator.appVersion;//返回浏览器版本号

var cookieEnabled=navigator.cookieEnabled;//返回浏览器是否启用cookie,true和false

var geolocation=navigator.geolocation;//返回地理定位信息(h5)

var javaEnabled=navigator.javaEnabled();//检测当前浏览器是否支持 Java,从而知道浏览器是否能显示 Java 小程序(IE,chrome返回true,firefox返回false)

var language=navigator.language;//返回浏览器的首选语言

var mimeTypes= navigator.mimeTypes;//返回浏览器支持的Mime类型

var msManipulationViewsEnabled= navigator.msManipulationViewsEnabled;//仅支持IE,true

var msMaxTouchPoints=navigator.msMaxTouchPoints;//字面意思是最大的触摸点,IE为0,其他不支持

var msPointerEnabled=navigator.msPointerEnabled;//IE为true,其他不支持

var onLine=navigator.onLine;//是否连接互联网,均返回true(未断网)

var platform=navigator.platform;//所在平台,返回win32

var plugins=navigator.plugins;//返回浏览器插件集合

var preference=navigator.preference;//允许一个已标识的脚本获取并设置特定的 Navigator 参数

var product= navigator.product;//浏览器产品名,返回gecko

var systemLanguage=navigator.systemLanguage;//获取系统语言,IE支持,返回zh-cn

var userAgent=navigator.userAgent;//判断浏览器类型

var userLanguage=navigator.userLanguage;//返回操作系统的自然语言设置,IE支持,返回zh-cn

//方法

var msLaunchUri=navigator.msLaunchUri;//回调函数,未研究

var taintEnabled=navigator.taintEnabled;//回调函数

var hasOwnProperty=navigator.hasOwnProperty;//意思是是否支持属性,用法如下

var s=document.hasOwnProperty("ontouchstart");//电脑返回false,手机为true


screen属性

window.screen.属性

availHeight窗口可以使用的屏幕的高度

availWidth窗口可以使用的屏幕宽度

colorDepth用户浏览器的颜色位数

height屏幕的高度

width屏幕的宽度

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

推荐阅读更多精彩内容