前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript 对象

JavaScript 对象

作者头像
chenchenchen
发布2022-11-29 21:00:01
7780
发布2022-11-29 21:00:01
举报
文章被收录于专栏:chenchenchen

访问对象属性

你可以通过两种方式访问对象属性:

person.lastName;

person["lastName"];

访问对象方法

<p id="demo1"></p>

<p id="demo2"></p> <script> var person = {     firstName: "John",     lastName : "Doe",     id : 5566,     fullName : function()  {        return this.firstName + " " + this.lastName;     } }; document.getElementById("demo1").innerHTML = "不加括号输出函数表达式:"  + person.fullName; document.getElementById("demo2").innerHTML = "加括号输出函数执行结果:"  +  person.fullName();

</script>

JavaScript 函数语法

有时,我们会希望函数将值返回调用它的地方。

通过使用 return 语句就可以实现。

在使用 return 语句时,函数会停止执行,并返回指定的值。

在您仅仅希望退出函数时 ,也可使用 return 语句。返回值是可选的:

function myFunction ( a , b ) {

if ( a > b ) {

return ;

}

x = a + b

}

如果 a 大于 b,则上面的代码将退出函数,并不会计算 a 和 b 的总和。

JavaScript 作用域

局部变量:在函数中通过var声明的变量。

全局变量:在函数外通过var声明的变量。

没有声明就使用的变量,默认为全局变量,不论这个变量在哪被使用。

JavaScript == 与 === 区别

1、对于 string、number 等基础类型,== 和 === 是有区别的

  • a)不同类型间比较,== 之比较 "转化成同一类型后的值" 看 "值" 是否相等,=== 如果类型不同,其结果就是不等。
  •  b)同类型比较,直接进行 "值" 比较,两者结果一样。

2、对于 Array,Object 等高级类型,== 和 === 是没有区别的

进行 "指针地址" 比较

3、基础类型与高级类型,== 和 === 是有区别的

  • a)对于 ==,将高级转化为基础类型,进行 "值" 比较
  •  b)因为类型不同,=== 结果为 false
  • null 和 undefined 的值相等,但类型不等:

JavaScript 类型转换


Number() 转换为数字, String() 转换为字符串, Boolean() 转化为布尔值。


JavaScript 数据类型

在 JavaScript 中有 5 种不同的数据类型:

  • string
  • number
  • boolean
  • object
  • function

3 种对象类型:

  • Object
  • Date
  • Array

2 个不包含任何值的数据类型:

  • null
  • undefined

typeof 操作符

你可以使用 typeof 操作符来查看 JavaScript 变量的数据类型。

  • NaN 的数据类型是 number
  • 数组(Array)的数据类型是 object
  • 日期(Date)的数据类型为 object
  • null 的数据类型是 object
  • 未定义变量的数据类型为 undefined

JavaScript 类型转换

1,全局方法 String() 可以将数字转换为字符串。

    该方法可用于任何类型的数字,字母,变量,表达式:String(x)         // 将变量 x 转换为字符串并返回

    Number 方法 toString() 也是有同样的效果。x.toString(),

2,全局方法 Number() 可以将字符串转换为数字。

JavaScript 正则表达式

在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。

1.search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

例:

<p>搜索字符串 "runoob", 并显示匹配的起始位置:</p> <button οnclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() {     var str = "Visit Runoob!";      var n = str.search(/Runoob/i);     document.getElementById("demo").innerHTML = n;    // n = 6 }

</script>

2.replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

例:

<p>替换 "Microsoft" 为 "Runoob" :</p> <button οnclick="myFunction()">点我</button> <p id="demo">请访问 Microsoft!</p> <script> function myFunction() {     var str = document.getElementById("demo").innerHTML;      var txt = str.replace("Microsoft","Runoob");     document.getElementById("demo").innerHTML = txt; } </script>

3. test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。

以下实例用于搜索字符串中的字符 "e":

var patt = /e/;  patt.test("The best things in life are free!");

// 等同于 /e/.test("The best things in life are free!");

JavaScript 变量提升

JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。

JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。

JavaScript 只有声明的变量会提升,初始化的不会。

JavaScript 使用误区

以下实例由于类型不一致不会执行 alert 弹窗:

var x = 10; switch(x) { case "10": alert("Hello");  //10 === "10" 为false }

var x = 10 + "5";        // x 的结果为 "105"

所有的编程语言,包括 JavaScript,对浮点型数据的精确度都很难确定:

var x = 0.1; var y = 0.2; var z = x + y            // z 的结果为 0.3

if (z == 0.3)            // 返回 false,z=0.3.00000000000004

为解决以上问题,可以用整数的乘除法来解决:

var z = (x * 10 + y * 10) / 10;       // z 的结果为 0.3

字符串断行需要使用反斜杠(\),如下所示:

var x = "Hello \

World!";

在 JavaScript 中,分号是可选的 。如果是一个不完整的语句,JavaScript 将尝试读取第二行的语句,如果语句是完整的JavaScript 将自动关闭语句:

在 JavaScript 中, 对象 使用 名字作为索引。

如果你使用名字作为索引,当访问数组时,JavaScript 会把数组重新定义为标准对象。

执行这样操作后,数组的方法及属性将不能再使用,否则会产生错误:

var person = []; person["firstName"] = "John"; person["lastName"] = "Doe"; person["age"] = 46; var x = person.length;         // person.length 返回 0

var y = person[0];             // person[0] 返回 undefined

程序块作用域

在每个代码块中 JavaScript 不会创建一个新的作用域,一般各个代码块的作用域都是全局的。

以下代码的的变量 i 返回 10,而不是 undefined:

for (var i = 0; i < 10; i++) { // some code }

return i;

JavaScript 函数参数

Arguments 对象

JavaScript 函数有个内置的对象 arguments 对象。

argument 对象包含了函数调用的参数数组。

通过这种方式你可以很方便的找到最大的一个参数的值:

x = findMax(1, 123, 500, 115, 44, 88); function findMax() {     var i, max = arguments[0];     if(arguments.length < 2) return max;     for (i = 0; i < arguments.length; i++) {         if (arguments[i] > max) {             max = arguments[i];         }     }     return max; } document.getElementById("demo").innerHTML = x;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 访问对象属性
  • 访问对象方法
  • JavaScript 函数语法
  • JavaScript 作用域
    • JavaScript == 与 === 区别
    • JavaScript 类型转换
      • JavaScript 数据类型
        • typeof 操作符
          • JavaScript 类型转换
          • JavaScript 正则表达式
          • JavaScript 变量提升
          • JavaScript 使用误区
            • 程序块作用域
            • JavaScript 函数参数
              • Arguments 对象
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档