js基础

原创 2018年01月15日 08:41:18
1.

变量声明

变量在脚本中的第一次出现是在声明中。变量在第一次用到时就设置于内存中,便于后来在脚本中引用。使用变量之前先进行声明。可以使用 var 关键字来进行变量声明。如果在var 语句中没有初始化变量,变量自动取 JScript 值 undefined。尽管并不安全,但声明语句中忽略var 关键字是合法的 JScript 语法。

当要声明一个变量并进行初始化,但又不想指定任何特殊值,可以赋值为 JScript 值 null。如果声明了一个变量但没有对其赋值,该变量存在,其值为Jscript 值undefined。注意在 JScript 中 nullundefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN (不是一个数字)。对null 值和 undefined 值作比较总是相等的。

强制转换

运算 结果
数值与字符串相加 将数值强制转换为字符串。
布尔值与字符串相加 将布尔值强制转换为字符串。
数值与布尔值相加 将布尔值强制转换为数值。

要想显式地将字符串转换为整数,使用 parseInt 方法。要想显式地将字符串转换为数字,使用parseFloat 方法。请注意,比较大小时字符串自动转换为相等的数字,但加法(连接)运算时保留为字符串。

数据类型

Jscript 有三种主要数据类型、两种复合数据类型和两种特殊数据类型。

主要(基本)数据类型是:

  • 字符串
  • 数值
  • 布尔

复合(引用)数据类型是:

  • 对象
  • 数组

特殊数据类型是:

  • Null
  • Undefined 

八进制和十六进制数可以为负,但不能有小数位,同时不能以科学计数法(指数)表示。

前缀为“0”同时包含数字“8”或“9”的数被解释为十进制数。

另外,JScript包含特殊值数字。它们是:

  • NaN (不是数)。当对不适当的数据进行数学运算时使用,例如字符串或未定义值。
  • 正无穷大。在JScript中如果一个正数太大的话使用它来表示。
  • 负无穷大。在JScript中如果一个负数太大的话使用它来表示。
  • 正0和负0。Jscript区分正0和负0。 
在 Jscript 中,null 与 0 不相等(与在 C 和 C++ 中不同)。同时应该指出的是,Jscript中typeof 运算符将报告 null 值为 Object 类型,而非类型 null。这点潜在的混淆是为了向下兼容。

如下情况将返回 undefined 值:

  • 对象属性不存在
  • 声明了变量但从未赋值。 注意不能通过与 undefined 做比较来测试一个变量是否存在,虽然可以检查它的类型是否为undefined。//此处双引号必不可少
    // 这个方法有效
    if (typeof(x) == "undefined")
        // 作某些操作
插播:关于console.log()的作用

主要是方便你调式javascript用的。你可以看到你在页面中输出的内容。

相比alert他的优点是:

  1. 他能看到结构话的东西,如果是alert,淡出一个对象就是[object object],但是console能看到对象的内容。

  2. console不会打断你页面的操作,如果用alert弹出来内容,那么页面就死了,但是console输出内容后你页面还可以正常操作。

  3. console里面的内容非常丰富,你可以在控制台输入:console,然后就可看到:

1
Console {memory: MemoryInfo, debug: function, error: function, info: function, log: function…}

它有网页的各种提示。

要检查一个对象属性是否存在,可以使用新的in 运算符: 

 in 运算符作用:
        // 就是判断 属性是否存在于对象中,如果存在,返回值为:true
        // 如果不存在,则为:false
        // 语法:属性 in 对象
        // var obj = {
        //     name1: "jack",
        //     age: 9,
        //     abc: undefined
        // };

        // 如果是name,要注意:window有name属性
        // console.log("name1" in obj); // true
        // console.log("age" in obj);// true
        // console.log("age123" in obj);//false

        // 如果是对象中存在的成员或者是原型中的成员,此时,返回的结果就是 true
        // console.log("toString" in obj);// true
        // console.log(obj.toString());//[object Object]
        // console.log("abc" in obj);//true


        // in运算符判断数组
        // 对于数组来说,索引号 就是属性
        var arr = [1];
        // console.log("1" in arr); // false
        // console.log("0" in arr); // true
        // console.log(0 in arr); // true

        // 访问数组的成员:
        // 可以使用 数组索引 也可以使用 字符串
        console.log(arr[0]);//1
          console.log(arr["0"]);//1

JScript 的运算符

JScript 具有全范围的运算符,包括算术、逻辑、位、赋值以及其他某些运算符。

计算 逻辑 位运算 赋值 杂项          
描述 符号 描述 符号 描述 符号 描述 符号 描述 符号
负值 - 逻辑非 ! 按位取反 ~ 赋值 = 删除 delete
递增 ++ 小于 < 按位左移 << 运算赋值 oP= typeof 运算符 typeof
递减 -- 大于 > 按位右移 >>     void void
乘法 * 小于等于 <= 无符号右移 >>>     instanceof instanceof
除法 / 大于等于 >= 按位与 &     new new
取模运算 % 等于 == 按位异或 ^     in in
加法 + 不等于 != 按位或 |        
减法 - 逻辑与 &&            
    逻辑或 ||            
    条件(三元运算符) ?:            
    逗号 ,            
    严格相等 ===            
    非严格相等 !==            

== (相等)与 === (严格相等)的区别在于恒等运算符在比较前强制转换不同类型的值。例如,恒等对字符串 "1" 与数值 1 的比较结果将为 true。而严格相等不强制转换不同类型的值,因此它认为字符串 "1" 与数值 1 不相同。

基本的字符串、数值和布尔值是按值比较的。如果它们的值相同,比较结果为相等。对象(包括ArrayFunctionStringNumberBooleanError、Date以及RegExp 对象)按引用比较。即使这些类型的两个变量具有相同的值,只有在它们正好为同一对象时比较结果才为 true。

作为数组的对象

在 Jscript 中,对象和数组几乎是以相同的方式处理的。对象和数组均可以被赋予任意值,实际上数组只是一种特殊的对象。数组和对象的区别在于数组有一个“奇妙的” length 属性,而对象没有。这意味着可以给数组的一个元素赋予比其他元素更大的值。例如,myArray[100] = "hello" — 然后 length 属性将自动地被更新为 101(新长度)。同样,如果修改数组的 length 属性,将删除不再是数组部分的元素。



js基础方法js基础方法js基础方法js基础方法js基础方法js基础方法js基础方法

  • 2010年03月24日 18:17
  • 19KB
  • 下载

js基础测试题学习笔记20170305

课堂笔记练习: 1. 有一个名为 arr 的数组中,存放着 [1,2,3,4,5,6,7,8,9] , 请将该数组中第一个是 3 的倍数的数字打印到 控制台中 2. 在页面中打印向上的直角三角形,  ...
  • qq_37765513
  • qq_37765513
  • 2017-03-05 13:52:36
  • 819

JS基础整理+实例

JavaScript 是脚本语言 JavaScript 对大小写是敏感的。 JavaScript 是一种轻量级的编程语言。 JavaScript 是可插入 HTML 页面的编程代...
  • pakuma07
  • pakuma07
  • 2015-07-24 21:12:01
  • 1476

JS初级基础

JavaScript基础 一、 js代码的应用 1.     使用标签将js代码应用到HTML文档中 1)    作用:将JS代码应用到HTML文档中,该标签的位置是任意,通常放在被修饰内容下面...
  • smileboyjian
  • smileboyjian
  • 2017-05-20 11:59:42
  • 787

js基础js页面刷新问题

  • 2009年07月02日 17:07
  • 34KB
  • 下载

JS入门基本教程(适合没编程基础新手)

将JavaScript 插入网页的方法 使用标签在网页中插入Javascript代码。 插入JavaScript 与在网页中插入CSS的方式相似。使用下面的代码可以在网页中插入Java...
  • hewei0241
  • hewei0241
  • 2012-11-12 19:40:50
  • 28815

JS基础学习总结

window.alert()弹出警告框 document.write()将内容写到html文档中 innerHTML修改html中的元素 console.log()写到浏览器控制台,一般调试功能...
  • Drug_
  • Drug_
  • 2017-06-05 23:00:56
  • 252

javaScript----基础巩固全面学习

1.     JavaScript简介   1.1. JavaScript由来 Netscape 发明了 JavaScript     JavaScript由Netscape 在1995年发明...
  • yuexianchang
  • yuexianchang
  • 2016-11-29 08:25:03
  • 1254

web前端面试中常见的js基础又实用的知识回顾

js基础但又实用知识的回顾 知识点:typeof、instanceof和constructor 1. js中5种原始数据类型: Number String Boolean Undefined Nu...
  • u014326381
  • u014326381
  • 2016-08-14 15:53:01
  • 979

js零基础练习题

  • 2013年01月10日 11:46
  • 32KB
  • 下载
收藏助手
不良信息举报
您举报文章:js基础
举报原因:
原因补充:

(最多只允许输入30个字)