JavaScript学习笔记(1)

JavaScript学习笔记(1)

[toc]
* 一个完整的JavaScript实现由三个不同部分组成:核心(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM)
* ECMAScript, 由ECMA-262定义, 提供核心语言功能
* DOM, 提供访问和操作网页内容的方法和接口
* BOM, 提供与浏览器交互的方法和接口

HTML中使用JavaScript

使用script元素

  1. 位置

    一般将全部JavaScript引用放在body元素后, 避免浏览器加载页面时出现明显的延迟

  2. 延迟与异步脚本

script标签定义了defer属性。这个属性的用途是表明脚本在执行时不会影响页
面的构造。即脚本会被延迟到整个页面都解析完毕后再运行。

使用:<script type="text/javascript" defer="defer" src="example1.js"></script>

script元素定义了async属性。但与defer不同的是,标记为async的脚本并不保证按照指定它们的先后顺序执行

deferasync属性都只适用于外部脚本

嵌入JavaScript代码

不推荐,尽量使用外部文件导入。

可维护性、可缓存、适应

所有script元素都会按照它们在页面中出现的先后顺序依次被解析。

基本概念

语法

  • 区分大小写
  • 标识符 一般采用驼峰大小写格式,第一个字符必须是字母_$,例:firstSecond、_hood、…
  • 注释 包括行内注释和快级注释 // /* */
  • 严格模式 启用则在顶部添加”use strict”
  • 语句 以分号结尾

变量

  • var定义,用var 操作符定义的变量将成为定义该变量的作用域中的局部变量

数据类型

  • 基本数据类型:Undefined Null Boolean Number String
  • 复杂数据类型:Object
Number
  • 浮点数值

    关于浮点数值计算会产生舍入误差的问题

    例如:if (a + b == 0.3) { alert("you got 0.3"); } Wrong!

  • NaN()
  • 数值转换: parseInt() parseFloat() Number()
String
  • 双引号或单引号表示
  • 不可变
  • toString()方法 转换为字符串
Object
  • 创建方式:var o = new Object();

操作符

  • 一元操作符:++、–、+、-
  • 位操作符;~、&、|、^、<<、>>、>>>(无符号右移)
  • 布尔操作符:!、&&、||、
  • 乘性操作符:*、/、%、
  • 加性操作符:+、-
  • 关系操作符:<、>、<=、>=
  • 相等操作符:==、!=、===、!==
  • 条件操作符:variable = boolean_expression ? true_value : false_value;
  • 赋值操作符:=
  • 逗号操作符:,

语句

  • if
  • do-while
  • while
  • for
  • for-in for (property in expression) statement;
  • label label: statement 可以在代码中添加标签,以便将来使用
  • break、continue
  • with with (expression) statement;作用是将代码的作用域设置到一个特定的对象中
    例如:

    var qs = location.search.substring(1);
    var hostName = location.hostname;
    var url = location.href;
    with(location){
        var qs = search.substring(1);
        var hostName = hostname;
        var url = href;
    }
  • switch

函数

function functionName(arg0, arg1,...,argN) {
    statements
}

要么让函数始终都返回一个值,要么永远都不要返回值。

  • ECMAScript函数不介意传递进来多少个参数,也不在乎传进来参数是什么数据类型。原因是ECMAScript中的参数在内部是用一个数组来表示的。函数接收到的始终都是这个数组,而不关心数组中包含哪些参数。
  • 没有重载
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值