简介:

Javascript是一个脚本语言,弱类型的编程语言,简称js,被称为网站开发的行为。它的作用是增加页面特效、前后台交互以及应用于后台开发。它即可写在HTML的script标签里,也可写在外部js文件里。要注意的是JavaScript严格区分大小写,且以分号结尾,语句字符必须是英文。

html骨架(页面结构),css是样式(元素大小、颜色、位置、隐藏或显示等),js是行为(部分动画效果、页面与用户交互等)

变量定义:由于是弱类型,故不用指定类型,使用关键字var定义变量。

注释:多行注释/* .....*/   单行注释 //

引入js文件:<script type="text/javascript" src="js文件"> </script>

弹窗与控制台打印:分别是alert()和console.log(),在代码调试中常常用到这个。

六大类型:数字(number)、字符串(str)、布尔(true,false)、空(null)、对象、未定义(undefine)。未定义就是一个变量声名但未赋予值。

取变量类型:typeof 变量名

运算符:

  1. 括号:() [ ] 中括号表示数组的下标
  2. 逻辑反: !x
  3. 自加自减: x++ ++x x-- --x   前加和后加的区别在于前加是运算前执行++,后加是运算后执行++
  4. 算术运算符:* / % + -
  5. 比较运算符:< > <= >= == === !=  与其他语言不同的是多了一个===,这是由它的弱类型造成的,==只比较他们的值,不管类型,而===同时比较他们的值和类型。
  6. 逻辑运算符: &&  ||
  7. 赋值运算符:=
  8. 复合运算符:+=   -=   *=   /=  %=
  9. 条件运算符:z?x:y    条件z成立,返回值x,否则返回y。

+号两边是数字和字符串,加号起拼接作用。-和*、/、%号两边是数字和数字的字符串,会将数字字符串看出一个数字。

js获取元素

对于具有唯一性的标签,如body、title、head可以直接获取。

var obox = document.title

对于不具有唯一性的标签还可通过id、class、tagname、name、上下文选择器来获取。

var obox = document.getElementsById("xx")
var obox = document.getElementsByClassName("xx")
var obox = document.getElementsByTagName("xx")
var obox = document.getElementsByName("xx") #常用于表单
var obox = document.querySelector("xx xx") //只获取一个
var obox = document.querySelectorAll("xx xx") //获取所有满足条件的

如果获取的元素是一个确切的元素,可以直接操作这个元素,若有多个元素,必须通过下标来操作这个元素。

可用以获取的对象来取代document,以缩小获取元素的范围。

获取的元素可通过innerHTML或innerText来修改标签里的内容,innerHTML可以解析标签,innerText不能。如:

document.body.innerHTML = "<i> hello,world. </i>“

js简单事件

所谓的事件就是指JavaScript捕获到用户的操作,并能做出正确响应。在事件函数里,有一个关键字this,它代表当前触发事件的这个元素的事件。

格式: 对象.事件 = function(){ xxxx  }

鼠标事件:

  • 单击事件:onclick
  • 双击事件:ondblclick
  • 鼠标划入事件:onmouseenter
  • 鼠标划出事件:onmouseleave

如:

obox.onclick = funtion() {
this.innerText = "hello";
}

js操作属性

对于标准的属性如href、class、id、name、target等可以直接进行读取和修改。要注意的是class属性在操作属性里写作classname。

obox.target = "_self_;
obox.classname = "long" #操作class属性

对于不规范的的属性,读取和修改分开,读取用getAttribute(”属性“)方法,设置属性用setAttribute(”属性“,”属性值“)方法,移除属性用removeAttribute(”属性“)方法。这三种方法对于规范属性同样有效。

设置属性可以一次给一个属性设置多个值,一般只有class这个属性可以有多个值,多个值之间用空格分开。

js操作css样式

js操作样式有两种方式,一种是直接利用变量对象操作,一种是放在事件函数里操作。

直接操作:变量.style.属性 = ”xxx“。 要想一次改多个属性: 变量.style.cssText = "属性1:值;属性2:值” 。 操作复合属性有两种,一种是要去掉-号,-号后面的第一个单词大写。如oBox.style.marginLeft = "100px";另一种不需要改动属性名,oBox.style["margin-left"] = "100px"。

放在事件函数里:就是将变量改成this。其方法与直接操作是一样的。

JavaScript详解(一)的更多相关文章

  1. Day03 javascript详解

    day03 js 详解 JavaScript的基础 JavaScript的变量 JavaScript的数据类型 JavaScript的语句 JavaScript的数组 JavaScript的函数 Ja ...

  2. Unicode与JavaScript详解

    本文为转载内容 一.Unicode是什么? Unicode源于一个很简单的想法:将全世界所有的字符包含在一个集合里,计算机只要支持这一个字符集,就能显示所有的字符,再也不会有乱码了. 它从0开始,为每 ...

  3. javascript 详解数组

      概念 数组创建 数组读写 数组 VS. 一般对象 相同点 不同点 稀疏数组 数组的length属性 元素增删 数组迭代 二维数组 数组方法 Array.prototype.join Array.p ...

  4. 【原创教程】JavaScript详解之语法和对象

    JavaScript的好的想法:函数.弱类型.动态对象和一个富有表现力的对象字面量表示法. JavaScript的坏的想法:基于全局变量的编程模型.   好了,不管他是好的还是坏的,都是我的最爱,下面 ...

  5. JavaScript详解

    JavaScript可以说是web开发中必备的一种技术.它具有灵活,简单,高效等特点.这次DRP中大量的用到了js,让自己对js有了更深的了解.看完这个以后还回去看了一下牛腩的js视频.把以前没看的看 ...

  6. Unicode与JavaScript详解 [很好的文章转]

    上个月,我做了一次分享,详细介绍了Unicode字符集,以及JavaScript语言对它的支持.下面就是这次分享的讲稿. 一.Unicode是什么? Unicode源于一个很简单的想法:将全世界所有的 ...

  7. Web前端之Javascript详解20180330

    一.javascript概述 javascript是基于对象和事件的脚本语言. 特点: 1.安全性(不允许直接访问本地硬盘(因为是被远程的浏览器解释)),它可以做的就是信息的动态交互 2.跨平台性(只 ...

  8. JavaScript: 详解正则表达式之三

    在上两篇文章中博主介绍了JavaScript中的正则常用方法和正则修饰符,今天准备聊一聊元字符和高级匹配的相关内容. 首先说说元字符,想必大家也都比较熟悉了,JS中的元字符有以下几种: / \ | . ...

  9. JavaScript: 详解正则表达式之一

    正则表达式是一个精巧的利器,经常用来在字符串中查找和替换,JavaScript语言参照Perl,也提供了正则表达式相关模块,开发当中非常实用,在一些类库或是框架中,比如jQuery,就存在大量的正则表 ...

  10. javascript详解1

    推荐学习链接: https://book.apeland.cn/details/356/ http://es6.ruanyifeng.com/#README https://developer.moz ...

随机推荐

  1. Python MySQL 创建数据库

    章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...

  2. Elasticsearch 使用集群 - 列出索引

    章节 Elasticsearch 基本概念 Elasticsearch 安装 Elasticsearch 使用集群 Elasticsearch 健康检查 Elasticsearch 列出索引 Elas ...

  3. Distributed--2PC和3PC

    参考 https://blog.csdn.net/lnho2015/article/details/78685503 https://www.cnblogs.com/hubaoxi/p/6867203 ...

  4. html通配符

    ♠ ♠ ♠ 黑桃 ♣ ♣ ♣ 梅花 ♥ ♥ ♥ 红桃,心 ♦ ♦ ♦ 方块牌 ◊ ◊ ◊ 菱形 † † † 匕首 ‡ ‡ ‡ 双剑号 ¡ ¡ ¡ 反向感叹号 ¿ ¿ ¿ 反向问号 ← ← ← 左箭头 ...

  5. cf 730J. Bottles

    搞一个背包,233 要求用的瓶数最少,那么就业瓶数为第一关键,当瓶数相当后再以a[i] #include<bits/stdc++.h> #define N 100005 #define L ...

  6. Angular 后台报错记录

    异常信息:ERROR TypeError: Cannot read property 'xxxx' of undefined 异常原因:"xxx"属性未定义,引发异常的原因可能是H ...

  7. qt 字符串 转换 hex

    1. qt 中两个字符的字符串直接转换为 hex,类似于 "1A" 要转换成 16进制的 0x1A,使用 int QString::toInt(bool *ok, int base ...

  8. core_cm4.h(129): error: #35: #error directive: "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"

    今天使用 systick 的时候,只使用了头文件 core_cm4.h,结果就报错了,原因是 __FPU_PRESENT 没有定义,这个定义其实在 stm32f4xx.h 里面.所以如果要解决这个错误 ...

  9. Linux学习20200215

  10. 3DES 原理

    3DES的原理: 加密阶段:用密钥1加密->用密钥2解密->用密钥3加密 解密阶段:用密钥3解密->用密钥2加密->用密钥1解密 版权声明:本文为博主原创文章,未经博主允许不得 ...