当前位置: 首页 > ops >正文

JavaScript基础,新手详细入门

JavaScript概述

  • JavaScript 是一门跨平台,面向对象的脚本语言,控制网页的行为,使网页可交互
  • 网页组成:结构(html)表现(Css)行为(JavaScript)
  • JavaScript和Java是完全不同的语言

引入方式:内部脚本和外部脚本

内部脚本:将js代码定义在html页面中

        我们将代码写在script标签中,

需要知道的是:

  •  在html中一般我们把script标签放在最底部(为的是网页先加载)
  • 我们也可以放任意数量的script标签

外部脚本:将js代码定义在外部js文件中,然后引入到html页面中

  • 外部文件:demo.js
  • 引入外部js文件 

JavaScript的基础语法

书写语法

  1. 区分大小写:与java一样,变量名,函数名以及其他东西都是区分大小写的
  2. 每行结尾的分号可有可无
  3. 注释:
    • 单行注释  //
    • 多行注释  /*      */
  4. 大括号表示代码块

输出语句

<script >window.alert("hello js!") //弹出警告框document.write("hello js!")//写入htmlconsole.log("hello js")//写入控制台
</script>

变量

  • JavaScript中用 var 关键字来声明变量
var test=20
test="张三"
  • JavaScript 是一门弱类型语言,变量可以存放不同类型的值

  • 变量名规则:

  1.   任何字母,数字,下划线,符号

  2. 不能数字开头

  3. 建议使用驼峰命名规范

var :

         1.作用域:全局变量、

         2.变量可以重复定义

let :

        1.作用域:let所在的代码块

        2.不能重复声明

const:

        1.声明一个只读的常量

        2.常量的值不能改变

数据类型

JavaScript中分为:原始类型和引用类型

五种原始类型:

  • number:数字(整数,小数,NaN(Not a Number))
  • string:字符,字符串 (单双引号都可以)
  • boolean:布尔类型
  • null:对象空
  • undefined:当声明的变量未初始化时,该变量的默认值是undefined

我们可以使用typeof获取数据类型

alert(typeof age)

运算符

算数运算符

比较运算符

逻辑运算符

类型转换:

        (这里介绍了常用的转换,还有很多类型的转化)

        其他类型转换为数字:

                1.string:将字符串转化为字面意思的数字,如果字面意思不是数字则转换为NaN

                2.Boolean:true转为1        false转为0

 <script>var str="99"str2=+ str  //我们可以在字符串的前面写一个加号来转换alert(typeof(str2))</script>//  一般同parseint方法进行类型转换
<script>var str="99"str2=parseInt(str)alert(typeof(str2))</script>//运行的结果都为number,类型转换成功

        其他类型转化为 Boolean:

                1.number:0和NaN转为false , 其他数字转化为true

                2.string:空字符串转为false , 其他字符串转化为true

                3.null转为false

                4.undefined:转为false

流程控制语句

 条件语句

  • if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
  • if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
  • if...else if....else 语句- 使用该语句来选择多个代码块之一来执行
  • switch 语句 - 使用该语句来选择多个代码块之一来执行

循环语句

  • for - 循环代码块一定的次数
  • for/in - 循环遍历对象的属性
  • while - 当指定的条件为 true 时循环指定的代码块
  • do/while - 同样当指定的条件为 true 时循环指定的代码块

流程控制语句和java的一摸一样

函数

  • 定义:Javascript函数通过 function 关键字来定义
  • 语法
  function Name(参数1,参数2...){执行的代码}

需要注意的:

  1. 形参不需要类型
  2. 返回值不需要定义类型,在函数内部直接return即可
  • 调用:函数名称(实际参数列表)

可以传递任意任意个数的参数

let return = Name(参数1,参数2...)

JavaScript 对象

        这里我介绍了几个常规的对象,更多可以查看js手册

JavaScript 提供多个内建对象,比如 String、Date、Array 等等。 对象只是带有属性和方法的特殊数据类型

        Array对象

                

<script>//方式一var arr=new Array(1,2,3);alert(arr)//方式二var arr2=[1,2,3,4];alert(arr2)//访问arr2[0]=10;alert(arr2)// 特点:Javascript数组相当于Java的集合。但是 js中可 变长变类型// 变长var arr3=[1,2,3,4,5];arr3[10]=10;alert(arr3[10])// 变类型arr3[7]="hellojs";alert(arr3[5])alert(arr3)//属性:length:数组的元素个数,用法和Java中的一样//方法:/*push:添加元素splice:删除元素*/</script>

string对象

String 对象用于处理文本(字符串)。

String 对象创建方法: new String()。

var str=new String("aaa");var str2="bbb"//属性:length:字符串的长度//方法://charAt()返回指定位置的字符//indexOf()检索字符串//trim()去除字符串两头的空字符

自定义对象

var person={name:"zhangsan",age:23,eat:function(){alert("吃饭")}}alert(person.name)alert(person.age)person.eat()

BOM对象

  •  Browser Object Model 浏览器对象模型
  • Javascript 将浏览器的各个组成部分封装为对象
  • 组成:
    • Window:浏览器窗口对象
    • Navigation:浏览器对象
    • Screen:屏幕对象
    • History:历史对象
    • Location:地址栏对象

Window:浏览器窗口对象

        获取:直接使用window,其中window.可以省略

        属性:获取其他BOM对象

        方法:

  • alert():显示一段消息和一个确认按钮的警告框
  • confirm():显示一段消息以及确认按钮和取消按钮的对话框,并返回boolean
  • setInterval():按照指定周期毫秒来调用函数或计算表达式
  • setTimeout():在指定的毫秒数后调用函数或计算表达式
    <script>//alertwindow.alert("hello js!")alert("hello js2")//confirm,点击确认按钮,返回true,取消返回falsevar flag = confirm("你爱我吗?")if (flag) {alert("那我们在一起吧")} else {alert("那分手吧")}//定时//setTimeout(function, 毫秒值): 在一定的时间间隔后执行一个function,只执行一次//setInterval(function, 毫秒值): 在一定的时间间隔后执行一个function,循环执行setTimeout(function(){alert("hello js")},2000)setInterval(function(){alert("hello js2")},2000)</script>

Navigation:浏览器对象

        获取:直接使用调用

        方法:

  • history.back() :与在浏览器点击后退按钮相同
  • history.forward() : 与在浏览器中点击向前按钮相同

History:历史对象

        获取:直接调用

        属性:href :设置或返回完整的URL

DOM对象

  • Document Object Model 文档对象模型
  • 将标记语言的各个组成部分封装为对象
    • Document:整个文档对象
    • Elment:元素对象
    • Attribute:属性对象
    • Text:文本对象
    • Comment:注释对象
  • Javascript通过DOM,对html进行操作
    • 改变html元素的内容
    • 改变html元素的样式
    • 对html DOM事件做出反应
    • 添加和删除html元素

根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:

  • 整个文档是一个文档节点
  • 每个 HTML 元素是元素节点
  • HTML 元素内的文本是文本节点
  • 每个 HTML 属性是属性节点
  • 注释是注释节点

获取Element

getElementById()根据id属性值获取,返回Element对象
getElementsByTagName()根据标签名称获取,返回Element对象组
getElementsByClassName()

根据class属性值获取,返回Element对象组

getElementsByName根据name属性值获取,返回Element对象组

Element对象的使用

修改 HTML DOM 意味着许多不同的方面:

  • 改变 HTML 内容
  • 改变 CSS 样式
  • 改变 HTML 属性
  • 创建新的 HTML 元素
  • 删除已有的 HTML 元素
  • 改变事件(处理程序)

事件监听

HTML 事件的例子:

  • 当用户点击鼠标时
  • 当网页已加载时
  • 当图像已加载时
  • 当鼠标移动到元素上时
  • 当输入字段被改变时
  • 当提交 HTML 表单时
  • 当用户触发按键时

事件监听:Javascript可以在事件被侦测到时执行代码

事件绑定

<body>//方式一:通过HTML标签的事件属性进行绑<input type="button" value="点我" onclick="on()"><br>//方式二:通过DOM元素属性绑定<input type="button" value="再点我" id="btn"><script>function on(){alert("我被猪点了");}document.getElementById("btn").onclick=function(){alert("我又被猪点了")}</script>
</body>

正则表达式

JavaScript中的定义:

  1. 直接量:
var reg=/表达式/;
  1. 创建RegExg对象:
var reg = new RegExg("/表达式/");

方法:test(str):判断字符串是否符合,返回Boolean

http://www.xdnf.cn/news/11768.html

相关文章:

  • 30套JSP网站源代码合集
  • google map Api接口整理
  • C语言进阶第十篇【程序的编译(预处理操作)+链接】
  • AD中 Top Solder和Top Paste
  • ADO编程-RecordSet对象
  • Java 移位操作
  • 高质量C++编程
  • 冯·诺依曼结构
  • SharePoint 2010 -- 常用技巧及方法总结
  • WCDMA网信道解释
  • Unable to find a version of the runtime to run this application解决方法
  • g100显卡 linux驱动,nvidia geforce g100驱动
  • Windows平台Ring3下DLL注入(HOOK)方法整理汇总
  • 安装Quartus_II_9.0
  • 最全整理反面角色谁更适合饰演老大角色,你认识多少?(已收藏)
  • 冰点还原标准版-中文版(全面支持Windows 7)7.0.020.3172(最新版)下载与注册
  • 最新民间偏方大全,个人收集整理,绝对值得收藏
  • 塞班时代JAVA_回忆S60(塞班)年代的JAVA游戏:有没有哪一款是你在课堂偷偷玩的...
  • 夏目友人帐所有妖怪名单
  • 大话运维-IT国产化浪潮下的运维管理
  • 记一次msyql InnoDB导致数据库崩溃,数据库重启失败的问题
  • 学习OpenCV:滤镜系列(15)——羽化(模糊边缘)
  • 服务硬件及RAID配置
  • flowchart流程图编程语言下载_C语言流程图生成工具(AutoFlowchart)
  • 【Python爬虫与数据分析】爬虫代理IP与访问控制
  • 完整版搭建hadoop集群
  • 有关嵌入式、单片机、51单片机、STM32、的一些概念详解
  • 解决系统缺少找不到zipfldr.dll文件的问题
  • 酷盘 文件服务器,酷盘是什么 酷盘怎么使用【使用方法】
  • 五款免费pdf转换成word软件