Javascript笔记

Javascript笔记

简介

  • 软件结构

    • C/S结构

    Client+Server 客户端+服务器
    使用前需要在电脑上安装特定的客户端
    优点:可以在本地执行一些运算处理
    缺点:安装很多客户端会占用很多资源

    • B/S结构

    Browser+Server 浏览器+服务器
    只需安装一个浏览器,通过网址访问不同的服务器
    优点:不需要安装特定的客户端
    缺点:多数的处理都交给了服务器,服务器的压力会增大

JavaScripe

脚本语言,解释执行,不需要编译

  • 作用:
    • 响应客户端键盘鼠标的时间
    • 客户端页面表单数据验证
    • 使用JavaScript动态改变页面样式

js用法笔记

  • 可以在文本字符串中使用反斜杠对代码行进行换行。下面的例子会正确地显示(只是在代码上换行,显示效果是没有换行的):
    document.write("你好世界!");
  • JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型

    var x; // x 为 undefined  
    var x = 5; // 现在 x 为数字  
    var x = "John"; // 现在 x 为字符串
    
  • 字符串可以是引号中的任意文本。您可以使用单引号或双引号

  • 您可以在字符串中使用引号,只要不匹配包围字符串的引号即可

    var answer="It's alright";  
    var answer="He is called 'Johnny'";  
    var answer='He is called "Johnny"';
    
  • 极大或极小的数字可以通过科学(指数)计数法来书写

    var y=123e5; // 12300000  
    var z=123e-5; // 0.00123
    
  • js里的变量也有局部和全局之分

  • 你可以在字符串中使用引号,字符串中的引号不要与字符串的引号相同
    你也可以在字符串添加转义字符来使用引号

    var x = 'It\'s alright';
    var y = "He is called \"Johnny\"";
    
  • === 为绝对相等,即数据类型与值都必须相等。

    var x = "John";             
    var y = new String("John");
    (x === y) // 结果为 false,因为 x 是字符串,y 是对象
    
  • function也是一种数据类型

  • constructor 属性返回所有 JavaScript 变量的构造函数。

    "John".constructor                 // 返回函数 String()  { [native code] }
    (3.14).constructor                 // 返回函数 Number()  { [native code] }
    false.constructor                  // 返回函数 Boolean() { [native code] }
    [1,2,3,4].constructor              // 返回函数 Array()   { [native code] }
    {name:'John', age:34}.constructor  // 返回函数 Object()  { [native code] }
    new Date().constructor             // 返回函数 Date()    { [native code] }
    function () {}.constructor         // 返回函数 Function(){ [native code] }
    
  • JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。
    JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。
    变量提升:函数声明和变量声明总是会被解释器悄悄地被"提升"到方法体的最顶部。

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

  • "严格模式"体现了Javascript更合理、更安全、更严谨的发展方向,包括IE 10在内的主流浏览器,都已经支持它,许多大项目已经开始全面拥抱它。

  • 同样的代码,在"严格模式"中,可能会有不一样的运行结果;一些在"正常模式"下可以运行的语句,在"严格模式"下将不能运行。

  • 严格模式的限制

    • 不允许使用未声明的变量
    • 不允许删除变量或对象
    • 不允许删除函数
    • 不允许变量重名
    • 不允许使用八进制
    • 不允许使用转义字符
    • 不允许对只读属性赋值
    • 不允许对一个使用getter方法读取的属性进行赋值
    • 不允许删除一个不允许删除的属性
    • 变量名不能使用 “eval” 字符串
    • 变量名不能使用 “arguments” 字符串
    • 不允许使用以下这种语句
    • 由于一些安全原因,在作用域 eval() 创建的变量不能被调用
    • 禁止this关键字指向全局对象
    • 因此,使用构造函数时,如果忘了加new,this不再指向全局对象,而是报错
  • 如果是一个不完整的语句,JavaScript 将尝试读取第二行的语句;但是由于这样的语句是完整的:```
    return

  • 面向对象语言中 this 表示当前对象的一个引用。
    但在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变。

    • 在方法中,this 表示该方法所属的对象。
    • 如果单独使用,this 表示全局对象。
    • 在函数中,this 表示全局对象。
    • 在函数中,在严格模式下,this 是未定义的(undefined)。
    • 在事件中,this 表示接收事件的元素。
    • 类似 call() 和 apply() 方法可以将 this 引用到任何对象。

JavaScript JSON

JSON 是用于存储和传输数据的格式。
JSON 通常用于服务端向网页传递数据 。

什么是JSON?

  • JSON 英文全称 JavaScript Object Notation

  • JSON 是一种轻量级的数据交换格式。

  • JSON是独立的语言

    JSON 使用 JavaScript 语法,但是 JSON 格式仅仅是一个文本。
    文本可以被任何编程语言读取及作为数据格式传递。

  • JSON 易于理解。

JSON 实例


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值