走入javascript(二)初识javascript

初探javascript

javascript是一种直译式脚本,是一种动态类型,弱类型,基于原型的语言。javascript通常用来操作html页面,响应式操作,验证传输数据等,但是要注意java和javascript没有任何的关系,用一句比较热门的描述来说就相当于雷锋和雷峰塔的关系。

javascript的四种声明写法

  • <script></script>
  • <script type="text/javascript"></script>
  • <script language="javascript"></script>
  • <script src="属于你自己的js路径"></script>

javascript基本要求

  • 严格区分大小写
  • 语句字符必须是半角字符
  • 某些完整的语句后面要写分号
  • 代码要缩进,缩进要对齐

javascript的三种弹窗方式

alert("Hello world");
confirm('确定么');
prompt("请输入您的姓名");

javascript的注释

//注释内容   单行注释
/*
注释内容1  多行注释
注释内容2
*/

javascript的获取元素方法

  • 在js中获取的内容称为元素 节点 或者标签都可以
通过ID进行获取
document.getElementById();
eg:document.getElementById('zhangsan');
通过class名来获取
document.getElementsByClassName();
eg:document.getElementsByClassName('zhangsan')[0].innerHTML = "我是第一个张三";
注意:这个方法不兼容IE8以及IE8以下,并且这个方法拿到的数据我们称为集合,要拿出对应的某个使用,要用[标号]的形式才可以

通过标签名来获取
document.getElementsByTagName();
eg:document.getElementsByTagName('p')[1].innerHTML = '我是第一个p标签';
通过name来获取
document.getElementsByName();
获取的name 通常为表单 锚链接

新增的获取方式

document.querySelector(); 即便是有多个元素 也只会选择第一个
document.querySelectorAll(); 类似于ClassName 获取到的也是一个集合
参数可以传CSS选择器 兼容IE8以及IE8以上
注意:获取元素不可以放到元素之前,不然元素的获取内容便会为空,如果必须要求放到前面的话,那就要用到window.onload(){};大括号可以换行 其他不容许
只要script标签放到了head的结束位置,并且要和文档标签打交道,就必须要用到window.onload,外部引入也一样。

javascript的document.write();

常用来向文档中输出内容,write和innerHTML都支持解析标签,另外要知道 俩个双引号引起来的内容叫字符串后续还会去说

一些相关不被人注意的问题

1.document.write为什么不可以和window.onload来进行配合使用?
答:document.write();这个方法,在文档流关闭之前它是很正确的执行着功能,但是文档流关闭之后才会触发window.onload的执行,如果window.onload中执行document.write的话
会将整个页面重新写入,相当于将整个页面的html内容替换成了document.write();括号中的内容,而这时候你所看到的什么html head body这些标签都非原代码所为,而是浏览器的
自动补充功能完成的,所以我们得出这么一条结论:window.onload不可以和document.write结合使用,除非你真的想执行内容覆盖,否则你这样使用这个标签一定会出现这个问题。

2.innerHTML和innerText的区别在什么地方?
答:它们之间最本质的区别就在于 innerHTML在输出的时候 可以解析标签而innerText不会进行解析标签 会将内容原样输出
eg:document.getElementsByClassName('zhangsan')[2].innerHTML = '<p>我是检测标签</p>';
这时候你在网页中看到的就是 我是检测标签
eg:document.getElementsByClassName('zhangsan')[2].innerText = '<p>我是检测标签</p>';
这时候你看的则是 <p>我是检测标签</p>

3.为什么document.getElementsByClassName这些获取多个元素方法后面要加[标号]呢
答:因为这些标签获取的都是一个集合,这个集合我们可以把它想象成一箱苹果 而document.getElementById则是一个苹果,我们手里有这么一箱苹果,当我们想吃这些苹果的时候
你是该一个一个的吃呢还是连箱子一起吃呢?答案显而易见程序也是一样的,它获取到了一个集合,当你对某些样式进行操作的时候 你如果不给它说明是哪个标签 它是不知道怎么进行判断的
这时候我们就可以这样写document.getElementsByClassName('zhangsan')[0].innerHTML = '我是第一个节点';这样我们是不是很轻松的就可以告诉浏览器我们要对哪个进行操作呢?

感谢收看本次内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值