Javascript预习博客

JavaScript的引用

  1. 内部引用,在<script type="text/javascript"></script>标签对中直接编写。
  2. 外部引用,<script type="text/javascript" src="java.js"></script>
  3. 行内引用,将程序代码作为某个元素的事件属性值,或超链接的href属性值。

JavaScript基本语法

  1. 区分大小写
    Html并不区分大小写,但是JavaScript严格区分大小写。在输入语言的关键字、函数名、变量以及其他标识符时,都必须采取一致的大小写形式。
  2. 空白符和换行符
    JavaScript会忽略关键字、变量名、数字、函数名或其他各种元素实体之间的空格、制表符或换行符(除非这些空格是字符串常量的一部分)。
  3. 注释
//为单行注释
/*这是多行注释
//多行注释里可以嵌套单行注释
但是多行注释里不可再嵌套单行注释*/
/*比如这样,/*会引起混乱*/ */

4.JavaScript保留关键字
这些保留字不能被用做标识符。
abstract、arguments、boolean、break、byte、case、catch、char、class*、const、continue、debugger、default、delete、do、double else enum*、eval、export*、extends* false final finally float
for、function、goto、if、implements、import*、in、instanceof、int 、interface、let、long、native、new、null、package、private、protected 、public、return、short、static、super*、switch、synchronized、this、throw 、throws、transient、true、try、typeof、var、void、volatile、while、with、yield。
标*的关键字是ECMAScript5新添加的。

数据类型与变量

数值型

与其他语言不同,JavaScript中的数值包括整数和浮点数,所有数值都以双精度浮点型来表示。

  1. 十进制数
  2. 按照ECMA-262的语法规则,十进制常数可以使以下任意一种(括号内的可以省略)
    十进制数.(十进制数)(指数)
    十进制数(指数)
    以下写法都正确:
    10 177.5 -2.70 -1.3E2 3.e-5 128e+100
    以科学计数法表示时,指数放在e后面,e不区分大小写
  3. 十六进制
    0x开始,后面紧跟十六进制数。x和十六进制数的字母都不区分大小写。
  4. 八进制
    0开始
  5. 特殊值Infinity
    当一个数值或数值表达式的值超过了可表示的最大值的范围,将被赋值为Infinity,反之则赋值为-Infinity。所有的Infinity值都相等,且与其他数值进行运算的结果仍为Infinity。
  6. 特殊值NaN
    其含义是“not a number”。当一个undefined表达式结果为数值型数据时,该数值型数据就是NaN。例如0/0运算,或对Indinity求正弦,或将Infinity和-Infinity相加时,结果都是NaN。
    可以用isNaN语句检测数值是否为NaN。
if(isNaN(x))
{alert("x是NaN");}
  1. 字串型
    JavaScript不区分字符和字符串。
    可以使用charAt()从字符串中提取字符。
var name="Mike";
var thirdLetter=name.charAt(2);

字符编号从0开始,此语句的意思是取出name字符串的第三个字符“k”。
以下为常用转义字符表

序列代表字符
\0Null字符(\u0000)
\b退格符(\u0008)
\t水平制表符(\u0009)
\n换行符(\u000A)
\v垂直制表符(\u000B)
\f换页符(\u000C)
\r回车符(\u000D)
\"双引号(\u0022)
\'撇号或单引号(\u0027)
\\反斜杠(\u005C)
\f
\OOO八进制整数,范围000~377
\XHH十六进制整数,范围00~FF

8.Boolean型
取值只有true和false

特殊数据类型

  1. 无定义数据类型
    对一个变量只声明而不赋值,或者赋予一个不存在的属性值,就会使改变量的值为undefined。
  2. 空值null
    null是表示什么都没有的占位符。与undefined的区别是,null表示该变量被赋予了一个空值,undefined表示变量尚未被赋值。

变量声明

JavaScript与java和C语言之间的一个重要差别:JavaScript是无类型的,它的变量可以存放任何数据类型的值。先把一个数值赋给变量,再用一个字符串赋给这个变量也是可以的。
变量声明用var,但变量声明不是必须的。

运算符与表达式

JavaScript大部分运算符都与C语言、java的运算符相同,这里只说部分:

  1. 比较运算符
===等于(且类型相同)
!==不等于(或类型不同)
  1. 位运算符
    例如3&5,首先3会被转换成二进制数00000011,5会被转换成00000101,而00000011&00000101的结果是,00000001,转换为十进制数为1。
运算符含义举例步骤结果
&位与3&500000011&000001011
|位或3500000011|000001017
^位异或3^500000011^000001106
~位非~3~00000011=11111100-4
<<左移位(空位补0)4<<300000100变成0010000032
>>右移位(空位补符号位)-9>>211110111变成11111101-3
>>>右移位(空位补0)32>>>300100000变成000001004
  1. 逗号运算符
    “,”将多个表达式连接成一个表达式,新表达式的值为最后一个表达式的值。
var a,b,c;
a=(b=5,c=7,d=11);
doucument.write('a='+a+' b='+b+' c='+c);

输出为:a=11 b=5 c=11

  1. void运算符
    void运算符用来指明一个表达式无返回结果
var a,b;
a=void(b=5);

此时,a=underfined,b=5

  1. typeof运算符
    typeof运算符返回一个字符串,指明其操作数的数据类型。
  2. 对象运算符
    “.”运算符,用来连接对象及其属性或方法
    “[]”运算符,连接对象及其属性(与“.”等价)、引用数组元素。
    “new”运算符,用来创建对象。既可以用来创建自定义对象,也可以用来创建内置对象的实例。要删除一个对象,应该将他的值置为null
    “delete”运算符可以删除数组中的元素。
    例如
var array=['1','2','3','4'];
delete array[2];

此时array数组为:1,2,,4(3被删除了,但是还留着一个空位。而且不是undefined)

控制语句(与C语言类似,略过)

if、else if、if else、switch、while、do while、for与C语言类似,我认为没有复述的必要,就不写了。

函数

自定义函数

定义函数要使用function关键字

fuction 函数名 (参数列表)
{
程序语句;
return;}

注意:

  • 函数名必须唯一,且区分大小写。
  • 参数可以是常量、变量或表达式。
  • 参数列表中有多个参数时,参数间用逗号“,”隔开。
  • 定义参数并不会执行组成函数的语句,只有调用函数时,函数才会执行。
  • 如果函数省略了return表达式,或者没有return表达式,函数会返回一个undefined值。

对象和数组

对象

对象使用运算符new来创建,在new之后必须有用于初始化对象的构造函数名。可以用下面的方式创建一个空对象,该对象不包含任何属性:

var o = new Object();

或者用构造函数的方法创建对象

function Student(name)
{this.name = name;}
studentOne=new Student("Jane");

上述语句建立了一个叫studentOne的新对象,对象的属性为studentOne.name。

方法

方法就是通过对象调用的函数,可以将函数赋给任何变量,甚至付给一个对象任何属性。在方法的主体内部,关键字this的值会变成调用该方法的对象。
函数是存储在变量中的值,而这个变量也是全局对象的一个属性。当调用一个函数时,实际上是调用全局对象的一个方法。
例如

//定义函数
function Area(){
return this.width*this.height;}
function circle()
{//初始化对象的属性
this.width=12;
this.height=22;
//定义对象的方法
this.area=Area;}

数组

在JavaScript中,数组可以用构造函数Array()和运算符new来创建。
可以有三种方式调用构造函数Array()
第一种是无参数调用,用这种方法创建的是一个空数组。

var a = new Array();

第二种方法允许用户指定数组的前若干个元素的值。这种形式的构造函数带有一个参数列表,每个参数都指定一个元素值,该元素值可以为任何类型。

var a = new Array(1,2,3,4,5,"test,test");

第三种方法是给该对象传递一个数字参数,该数字指定数组的长度。

var a = new Array(10);
var a = [1,2,3,4,5];
var b = [[1,{x:1,y:2}],[2,{m:3,n:4}]];
//使用了对象直接量

JavaScript内部对象

Object对象

Object对象提供了创建自定义对象的简单方式,不需要再定义构造函数,可以在程序运行时对对象随意添加属性。

function out(attr)
    {document.write(student[attr]+"&nbsp;");
    }
    var student=new Object();
    student.name="Jane";
    student.age="18";
    out("name");
    out("age");

输出的结果是Jane 18

Date对象

方法描述
getDate()从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay()从 Date 对象返回一周中的某一天 (0 ~ 6)。
getMonth()从 Date 对象返回月份 (0 ~ 11)。
getFullYear()从 Date 对象以四位数字返回年份。
getYear()请使用 getFullYear() 方法代替。
getHours()返回 Date 对象的小时 (0 ~ 23)。
getMinutes()返回 Date 对象的分钟 (0 ~ 59)。
getSeconds()返回 Date 对象的秒数 (0 ~ 59)。
getMilliseconds()返回 Date 对象的毫秒(0 ~ 999)。
var time = new Date();
alert("日期:"time.getFullYear()+"-"+time.getMonth()+"-"+time.getDate()+"星期:"+time.getDay()+"时间:"+time.getHours()+":"+time.getMinutes()+":"+time.getSeconds()+"-");

在这里插入图片描述

字符串对象

  • 数组的length属性
    用来说明这个数组所包含的元素个数。数组可能包含未定义的元素,所以属性length总是比数组最多元素的个数大1。数组的length属性是自动更新的。
  • anchor方法
var txt="Hello world!";
document.write(txt.anchor("myanchor"));

上面的代码将输出为纯粹的 HTML:

<a name="myanchor">Hello world!</a>
  • 字符串转换成HTML代码
//大号字体
var str="Hello world!";
    //大号字体
    document.write(str.big()+"<br>");
    //粗体
    document.write(str.bold()+"<br>");
    //返回字符串对象中的指定位置的字符。
    document.write("字符串对象中1位置(第二个字符)的字符为"+str.charAt(1)+"<br>");
    //字体颜色
    document.write(str.fontcolor("red")+"<br>");
    //字符串搜索,第一次出现的位置
    document.write("l第一次出现的位置:"+str.indexOf("l")+"<br>");
    //字符串搜索,最后一次出现的位置
    document.write("l最后一次出现的位置:"+str.lastIndexOf("l")+"<br>");
    //link超链接
    document.write(str.link("hhhh.html")+"<br>");

在这里插入图片描述

  • search方法
    与indexOf类似,语法为
var str="Hello world!";
var regex="l";
document.write(str.search(regex));
  • split方法,将字符串分隔开
var str="Hello,this is a test,1,2,3";
var regex=/,/;
var len=new Array;
splitString = str.split(regex);
for(i=0;i<splitString.length;i++)
{document.write(splitString[i]+"<br>");}

在这里插入图片描述
以“,”为标志,每次遇到一个“,”都会将字符串分隔开

  • 字符串合并
var str = "";
str += "<html><head><title>title</title></head>";
str += "<body><h1>h1</h1>";
str += "<hr>aass</html>";
document.write(str);

在这里插入图片描述

数组对象

  1. join方法
    join方法将一个数组的所有元素转换为字符串,并把这些字符串连接起来,可以任意指定一个字符串来分隔结果字符串中的元素,如果未指定分隔字符串,将使用“,”作为分隔符。
var a=[1,2,3];
s1=a.join();
s2=a.join(",");//中文的逗号
alert(s1+"\n"+s2);

在这里插入图片描述

  1. reverse方法
    reverse方法在已有的数组元素进行颠倒重排。
var a=[1,2,3,4]
alert(a.reverse());

在这里插入图片描述

  1. sort方法
    可以对数组排序。
var a=[4,5,1,2]
alert(a.sort());

在这里插入图片描述

  1. slice方法
    slice方法返回的是指定数组的一个子数组。带有 两个参数,一个是子数组的起始点,一个是子数组的终止点。
var a=[1,2,3,4,5,6]
alert(a.slice(0,3)+"\n"+a.slice(2,4));

在这里插入图片描述

  1. splice方法
    splice可以把元素从数组中删除。与delete不同的是,被插入或者被删除的元素会移位,保持数组的连续性。
alert(a.splice(n));
//删除数组第一个元素到第n+1个元素
alert(a.splice(n,3));
//删除数组第n+1个元素起的三个元素

math对象

查到的资料太长了,而且并不都很常用。链接:
math对象的属性和方法

with语句

如果频繁地使用某对象的多个属性或方法,只需要在()中写上改对象的名称,在随后的程序语句块中,不用每个属性名前都加上对象实例名和“.”了。

例如

var time=new Date;
with(time)
{alert(getMonth()+"月"+getDate()+"日");

参考书籍:精通JavaScript动态网页编程 王俊杰编著 人民邮电出版社

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值