JavaScript核心之事件详解(EventTarget接口,js事件传播,Event对象)大力01

事件是一种异步编程的实现方式,本质上是程序各个组成部分之间传递的特定消息。DOM支持大量的事件,本节介绍DOM的事件编程。

1EventTarget接口DOM的事件操作(监听和触发),都定义在EventTarget接口。Element节点、document节点和window对象,都部署了这个接口。此外,XMLHttpRequest、AudioNode、AudioContext等浏览器内置对象,也部署了这个接口。该接口就是三个方法,addEventListener和removeEventListener用于绑定和移除监听函数,dispatchEvent用于触发事件。

1.1addEventListener()addEventListener方法用于在当前节点或对象上,定义一个特定事件的监听函数。

target.addEventListener(type,listener[,useCapture]);上面是使用格式,addEventListener方法接受三个参数。

type,事件名称,大小写不敏感。注意:事件名称是没有"on"开头的listener,监听函数。指定事件发生时,会调用该监听函数。useCapture,监听函数是否在捕获阶段(capture)触发。该参数是一个布尔值,默认为false(表示监听函数只在冒泡阶段被触发)。老式浏览器规定该参数必写,较新版本的浏览器允许该参数可选。为了保持兼容,建议总是写上该参数。如图是捕获/冒泡过程:

下面是一个例子。

functionhello(){console.log('Helloworld');}varbutton=document.getElementById("btn");button.addEventListener('click',hello,false);上面代码中,addEventListener方法为button节点,绑定click事件的监听函数hello,该函数只在冒泡阶段触发。

可以使用addEventListener方法,为当前对象的同一个事件,添加多个监听函数。这些函数按照添加顺序触发,即先添加先触发。如果为同一个事件多次添加同一个监听函数,该函数只会执行一次,多余的添加将自动被去除(不必使用removeEventListener方法手动去除)。

functionhello(){console.log('Helloworld');}document.addEventListener('click',hello,false);document.addEventListener('click',hello,false);执行上面代码,点击文档只会输出一行“Helloworld”。

如果希望向监听函数传递参数,可以用匿名函数包装一下监听函数。

functionprint(x){console.log(x);}varel=document.getElementById("div1");el.addEventListener("click",function(){print('Hello')},false);上面代码通过匿名函数,向监听函数print传递了一个参数。

1.1.1addEventListenerthis对象的指向实际编程中,监听函数内部的this对象,常常需要指向触发事件的那个Element节点。

addEventListener方法指定的监听函数,内部的this对象总是指向触发事件的那个节点。

//HTML代码为//Hello

varid='doc';varpara=document.getElementById('para');functionhello(){console.log(this.id);}para.addEventListener('click',hello,false);执行上面代码,点击p节点会输出para。这是因为监听函数被“拷贝”成了节点的一个属性,使用下面的写法,会看得更清楚。

para.onclick=hello;如果将监听函数部署在Element节点的on-属性上面,this不会指向触发事件的元素节点。

Hello

执行上面代码,点击p节点会输出doc。这是因为这里只是调用hello函数,而hello函数实际是在全局作用域执行,相当于下面的代码。

para.onclick=function(){hello();}一种解决方法是,不引入函数作用域,直接在on-属性写入所要执行的代码。因为on-属性是在当前节点上执行的。

Hello

Hello

上面两行,最后输出的都是para。

总结一下,以下写法的this对象都指向Element节点。

//JavaScript代码element.onclick=printelement.addEventListener('click',print,false)element.onclick=function(){console.log(this.id);}//HTML代码以下写法的this对象,都指向全局对象。

//JavaScript代码element.onclick=function(){doSomething()};element.setAttribute('onclick','doSomething()');//HTML代码1.2removeEventListener()removeEventListener方法用来移除addEventListener方法添加的事件监听函数。

div.addEventListener('click',listener,false);div.removeEventListener('click',listener,false);removeEventListener方法的参数,与addEventListener方法完全一致。它对第一个参数“事件类型”,也是大小写不敏感。

注意,removeEventListener方法移除的监听函数,必须与对应的addEventListener方法的参数完全一致,而且在同一个元素节点,否则无效。

1.3dispatchEvent()dispatchEvent()方法在当前节点上触发指定事件,从而触发监听函数的执行。该方法返回一个布尔值,只要有一个监听函数调用了Event.preventDefault(),则返回值为false,否则为true。

target.dispatchEvent(event)dispatchEvent方法的参数是一个Event对象的实例。

para.addEventListener('click',hello,false);varevent=newEvent('click');para.dispatchEvent(event);上面代码在当前节点触发了click事件。

如果dispatchEvent方法的参数为空,或者不是一个有效的事件对象,将报错。

下面代码根据dispatchEvent方法的返回值,判断事件是否被取消了。

varcanceled=!cb.dispatchEvent(event);if(canceled){console.log('事件取消');}else{console.log('事件未取消');}}2监听函数监听函数(listener)是事件发生时,程序所要执行的函数。它是事件驱动编程模式的主要编程方式。

DOM提供三种方法,可以用来为事件绑定监听函数。

2.1HTML标签的on-属性HTML语言允许在元素标签的属性中,直接定义某些事件的监听代码。

上面代码为body节点的load事件、div节点的click事件,指定了监听函数。

使用这个方法指定的监听函数,只会在冒泡阶段触发。

注意,使用这种方法时,on-属性的值是“监听代码”,而不是“监听函数”。也就是说,一旦指定事件发生,这些代码是原样传入JavaScript引擎执行。因此如果要执行函数,必须在函数名后面加上一对圆括号。

另外,Element节点的setAttribue方法,其实设置的也是这种效果。

el.setAttribute('onclick','doSomething()');2.2Element节点的事件属性Element节点有事件属性,可以定义监听函数。

window.onload=doSomething;div.onclick=function(event){console.log('触发事件');};使用这个方法指定的监听函数,只会在冒泡阶段触发。

2.3addEventListener方法通过Element节点、document节点、window对象的addEventListener方法,也可以定义事件的监听函数。

window.addEventListener('load',doSomething,false);在上面三种方法中,第一种“HTML标签的on-属性”,违反了HTML与JavaScript代码相分离的原则;第二种“Element节点的事件属性”的缺点是,同一个事件只能定义一个监听函数,也就是说,如果定义两次onclick属性,后一次定义会覆盖前一次。因此,这两种方法都不推荐使用,除非是为了程序的兼容问题,因为所有浏览器都支持这两种方法。

addEventListener是推荐的指定监听函数的方法。它有如下优点:

可以针对同一个事件,添加多个监听函数。能够指定在哪个阶段(捕获阶段还是冒泡阶段)触发回监听函数。除了DOM节点,还可以部署在window、XMLHttpRequest等对象上面,等于统一了整个JavaScript的监听函数接口。3事件的传播3.1传播的三个阶段当一个事件发生以后,它会在不同的DOM节点之间传播(propagation)。这种传播分成三个阶段:

第一阶段:从window对象传导到目标节点,称为“捕获阶段”(capturephase)。第二阶段:在目标节点上触发,称为“目标阶段”(targetphase)。第三阶段:从目标节点传导回window对象,称为“冒泡阶段”(bubblingphase)。这种三阶段的传播模型,会使得一个事件在多个节点上触发。比如,假设div节点之中嵌套一个p节点。

ClickMe

如果对这两个节点的click事件都设定监听函数,则click事件会被触发四次。

varphases={1:'capture',2:'target',3:'bubble'};vardiv=document.querySelector('div');varp=document.querySelector('p');div.addEventListener('click',callback,true);p.addEventListener('click',callback,true);div.addEventListener('click',callback,false);p.addEventListener('click',callback,false);functioncallback(event){vartag=event.currentTarget.tagName;varphase=phases[event.eventPhase];console.log("Tag:'"+tag+"'.EventPhase:'"+phase+"'");}//点击以后的结果//Tag:'DIV'.EventPhase:'capture'//Tag:'P'.EventPhase:'target'//Tag:'P'.EventPhase:'target'//Tag:'DIV'.EventPhase:'bubble'上面代码表示,click事件被触发了四次:p节点的捕获阶段和冒泡阶段各1次,div节点的捕获阶段和冒泡阶段各1次。

捕获阶段:事件从div向p传播时,触发div的click事件;目标阶段:事件从div到达p时,触发p的click事件;目标阶段:事件离开p时,触发p的click事件;冒泡阶段:事件从p传回div时,再次触发div的click事件。注意,用户点击网页的时候,浏览器总是假定click事件的目标节点,就是点击位置的嵌套最深的那个节点(嵌套在div节点的p节点)。

事件传播的最上层对象是window,接着依次是document,html(document.documentElement)和body(document.dody)。也就是说,如果body元素中有一个div元素,点击该元素。事件的传播顺序,在捕获阶段依次为window、document、html、body、div,在冒泡阶段依次为div、body、html、document、window。

3.2事件的代理由于事件会在冒泡阶段向上传播到父节点,因此可以把子节点的监听函数定义在父节点上,由父节点的监听函数统一处理多个子元素的事件。这种方法叫做事件的代理(delegation)。

varul=document.querySelector('ul');ul.addEventListener('click',function(event){if(event.target.tagName.toLowerCase()==='li'){//somecode}});上面代码的click事件的监听函数定义在ul节点,但是实际上,它处理的是子节点li的click事件。这样做的好处是,只要定义一个监听函数,就能处理多个子节点的事件,而且以后再添加子节点,监听函数依然有效。

如果希望事件到某个节点为止,不再传播,可以使用事件对象的stopPropagation方法。

p.addEventListener('click',function(event){event.stopPropagation();});使用上面的代码以后,click事件在冒泡阶段到达p节点以后,就不再向上(父节点的方向)传播了。

但是,stopPropagation方法不会阻止p节点上的其他click事件的监听函数。如果想要不再触发那些监听函数,可以使用stopImmediatePropagation方法。

p.addEventListener('click',function(event){event.stopImmediatePropagation();});p.addEventListener('click',function(event){//不会被触发});4Event对象事件发生以后,会生成一个事件对象,作为参数传给监听函数。浏览器原生提供一个Event对象,所有的事件都是这个对象的实例,或者说继承了Event.prototype对象。

Event对象本身就是一个构造函数,可以用来生成新的实例。

event=newEvent(typeArg,eventInit);Event构造函数接受两个参数。第一个参数是字符串,表示事件的名称;第二个参数是一个对象,表示事件对象的配置。该参数可以有以下两个属性。

bubbles:布尔值,可选,默认为false,表示事件对象是否冒泡。cancelable:布尔值,可选,默认为false,表示事件是否可以被取消。varev=newEvent("look",{"bubbles":true,"cancelable":false});document.dispatchEvent(ev);上面代码新建一个look事件实例,然后使用dispatchEvent方法触发该事件。

IE8及以下版本,事件对象不作为参数传递,而是通过window对象的event属性读取,并且事件对象的target属性叫做srcElement属性。所以,以前获取事件信息,往往要写成下面这样。

functionmyEventHandler(event){varactualEvent=event||window.event;varactualTarget=actualEvent.target||actualEvent.srcElement;//...}上面的代码只是为了说明以前的程序为什么这样写,在新代码中,这样的写法不应该再用了。

以下介绍Event实例的属性和方法。

4.1bubbles,eventPhase以下属性与事件的阶段有关

functiongoInput(e){if(!e.bubbles){passItOn(e);}else{doOutput(e);}}上面代码根据事件是否冒泡,调用不同的函数。

4.1.2eventPhaseeventPhase属性返回一个整数值,表示事件目前所处的节点

varphase=event.eventPhase;0,事件目前没有发生。1,事件目前处于捕获阶段,即处于从祖先节点向目标节点的传播过程中。该过程是从Window对象到Document节点,再到HTMLHtmlElement节点,直到目标节点的父节点为止。2,事件到达目标节点,即target属性指向的那个节点。3,事件处于冒泡阶段,即处于从目标节点向祖先节点的反向传播过程中。该过程是从父节点一直到Window对象。只有bubbles属性为true时,这个阶段才可能发生。4.2cancelable,defaultPrevented以下属性与事件的默认行为有关。

varbool=event.cancelable;如果要取消某个事件,需要在这个事件上面调用preventDefault方法,这会阻止浏览器对某种事件部署的默认行为。

4.2.2defaultPreventeddefaultPrevented属性返回一个布尔值,表示该事件是否调用过preventDefault方法。会阻止浏览器对某种事件部署的默认行为。

if(e.defaultPrevented){//...}4.3currentTarget,target以下属性与事件的目标节点有关。

4.3.1currentTargetcurrentTarget属性返回事件当前所在的节点,即正在执行的监听函数所绑定的那个节点。作为比较,target属性返回事件发生的节点。如果监听函数在捕获阶段和冒泡阶段触发,那么这两个属性返回的值是不一样的。

functionhide(e){console.log(this===e.currentTarget);//truee.currentTarget.style.visibility="hidden";}para.addEventListener('click',hide,false);上面代码中,点击para节点,该节点会不可见。另外,在监听函数中,currentTarget属性实际上等同于this对象。

4.3.2targettarget属性返回触发事件的那个节点,即事件最初发生的节点。如果监听函数不在该节点触发,那么它与currentTarget属性返回的值是不一样的。

functionhide(e){console.log(this===e.target);//有可能不是truee.target.style.visibility="hidden";}//HTML代码为//HelloWorld

para.addEventListener('click',hide,false);上面代码中,如果在para节点的em子节点上面点击,则e.target指向em子节点,导致em子节点(即World部分)会不可见,且输出false。

在IE6—IE8之中,该属性的名字不是target,而是srcElement,因此经常可以看到下面这样的代码。

4.4.1typetype属性返回一个字符串,表示事件类型,具体的值同addEventListener方法和removeEventListener方法的第一个参数一致,大小写不敏感。

varstring=event.type;4.4.2detaildetail属性返回一个数值,表示事件的某种信息。具体含义与事件类型有关,对于鼠标事件,表示鼠标按键在某个位置按下的次数,比如对于dblclick事件,detail属性的值总是2。

varnumber=event.timeStamp;4.4.4isTrustedisTrusted属性返回一个布尔值,表示该事件是否可以信任。

varbool=event.isTrusted;Firefox浏览器中,用户触发的事件会返回true,脚本触发的事件返回false;IE浏览器中,除了使用createEvent方法生成的事件,所有其他事件都返回true;Chrome浏览器不支持该属性。

4.5preventDefault()preventDefault方法取消浏览器对当前事件的默认行为,比如点击链接后,浏览器跳转到指定页面,或者按一下空格键,页面向下滚动一段距离。该方法生效的前提是,事件的cancelable属性为true,如果为false,则调用该方法没有任何效果。

该方法不会阻止事件的进一步传播(stopPropagation方法可用于这个目的)。只要在事件的传播过程中(捕获阶段、目标阶段、冒泡阶段皆可),使用了preventDefault方法,该事件的默认方法就不会执行。

//HTML代码为//varcb=document.getElementById('my-checkbox');cb.addEventListener('click',function(e){e.preventDefault();},false);上面代码为点击单选框的事件,设置监听函数,取消默认行为。由于浏览器的默认行为是选中单选框,所以这段代码会导致无法选中单选框。

利用这个方法,可以为文本输入框设置校验条件。如果用户的输入不符合条件,就无法将字符输入文本框。

functioncheckName(e){if(e.charCode<97||e.charCode>122){e.preventDefault();}}上面函数设为文本框的keypress监听函数后,将只能输入小写字母,否则输入事件的默认事件(写入文本框)将被取消。

如果监听函数最后返回布尔值false(即returnfalse),浏览器也不会触发默认行为,与preventDefault方法有等同效果。

4.6stopPropagation()stopPropagation方法阻止事件在DOM中继续传播,防止再触发定义在别的节点上的监听函数,但是不包括在当前节点上新定义的事件监听函数。

functionstopEvent(e){e.stopPropagation();}el.addEventListener('click',stopEvent,false);将上面函数指定为监听函数,会阻止事件进一步冒泡到el节点的父节点。

4.7stopImmediatePropagation()stopImmediatePropagation方法阻止同一个事件的其他监听函数被调用。

如果同一个节点对于同一个事件指定了多个监听函数,这些函数会根据添加的顺序依次调用。只要其中有一个监听函数调用了stopImmediatePropagation方法,其他的监听函数就不会再执行了。

functionl1(e){e.stopImmediatePropagation();}functionl2(e){console.log('helloworld');}el.addEventListener('click',l1,false);el.addEventListener('click',l2,false);上面代码在el节点上,为click事件添加了两个监听函数l1和l2。由于l1调用了stopImmediatePropagation方法,所以l2不会被调用。

4.8event.returnValue=false和returnfalse4.8.1returnValuereturnValue是IE的一个属性,如果设置了该属性,它的值比事件句柄的返回值优先级要高,把它的值设置为false,可以取消发生事件源元素的默认动作;

returnValue:设置或获取事件的返回值。

event.returnValue:当捕捉到事件(event)时会做一些判断,判断失败,则会阻止事件继续执行,可以达到的效果是“不能在输入框中输入非数字字符”,window.event.returnValue=false放在提交表单中的onclick事件中则不会提交表单,如果放到超链接中则不执行超链接。

4.8.2returnfalsereturnfalse就是返回一个false值。禁止一些浏览器的默认行为,由于原先默认的行为是ture,例如,链接,点击事件发生后,紧接着的默认事件就是跳转链接,但是,在οnclick=function(){returnfalse;}之后,就可以对紧接着的默认行为禁止掉;

另外:如果想同时阻止事件冒泡(event.stopPropagation())和阻止浏览器行为(event.preventDefault());这个是同时调用阻止事件冒泡和阻止浏览器行为的简要写法

THE END
1.文旅IP数字化传播与交易新路径——以打虎亭汉墓传播为例在数字化时代,青年或中年阶段的用户是新媒体主流群体,借助新媒体进行的传播,可以使打虎亭汉墓IP的传播对象倾向于年轻一代,年轻一代是主流社群,唯有这些主流社群的认同、接纳和参与,才能为打虎亭汉墓IP的进一步发展奠定基础。因此,要扩大传播的广度,打虎亭汉墓IP的数字化传播就应该首先面向中青年群体,适应中青年群体的...https://www.zzqklm.com/w/wxlw/33243.html
2.聊聊人际传播这个考点如何做笔记的专题进阶版与之相似,互联网时代的人际传播由于媒介技术的尚未能完全复制现实的传播环境,无法还原现实情景中的管理要素,但个体仍可以通过对虚拟身份的调整进行印象整饰,例如设置相应的网名、头像、所使用的聊天文字和符号,塑造出其想要呈现在传播对象面前的形象特征。 情境构建的差异:人际传播社交线索的改变...https://www.360doc.cn/article/75354099_977768036.html
1.传播对象(精选五篇)其次,从传播对象看,需根据不同的划分标准进行分类考虑:若从传播平台角度考虑,选择不同的信息接收平台的受众必然有着不同的期待,内容生产当充分考虑传播平台特征,为传播平台及其受众(用户)“量身定制”信息;若从传播区域角度考虑,应基于相对有限的区域内受众,传播其需要的区域内外的“硬”、“软”信息。也就是说,...https://www.360wenmi.com/f/cnkey1yn7uxs.html
2.传播学教程考研笔记:传播学的对象和基本问题01第一章 传播学的对象和基本问题 摘要 本章主要理清传播学的基本概念,传播是什么?库利认为传播是社会关系赖以生存的机制,强调传播的社会关系,皮尔士认为所有的观念/意义都是通过像(icon)来传播,强调传播的过程是以符合为载体。二者代表了社会学和符号学的观念,且二者最终融合,认为传播是一种社会互动的实质。但该定义...https://www.jianshu.com/p/e9b2b2bf126a?utm_campaign=haruki
3.◇专题2020008◇俄罗斯对外舆论传播的经验与借鉴综述与报告(一)传播者:重点投入,年轻独立,政策宽松 (二)传播内容:突出俄罗斯视角、国际化与本土化结合 (三)传播渠道:借助传统渠道落地,提升新媒体竞争力 (四)传播对象:获取传统受众,吸引年轻网民 (五)传播效果:鼎足而立,引起西方警惕与反制 四、俄罗斯国际传播媒体的传播策略与经验借鉴 ...https://www.fjlib.net/zt/fjstsgjcxx/zbzl/rdzt/202004/t20200414_432091.htm
4.改革开放后俄罗斯文学在中国传播发展的新变化——基于拉斯维尔...摘要:自新中国成立以来,俄罗斯文学在我国的传播发展已走过了60多年艰难曲折的历程。在其整个传播发展过程中,改革开放这一重要历史事件对于俄罗斯文学的传播发展产生了重大影响。文中将以传播学的“5W”模式作为研究视角,从传播主体、传播对象、传播内容、传播手段以及传播效果5个方面,对改革开放前后俄罗斯文学在中国的传播...https://jss.usst.edu.cn/html/2014/2/20140208.htm
5.传媒观察认知传播学,从“认知”和“传播”入手编者按:认知传播学融合了传播学的社会实践经验优势以及认知科学的工具体系支撑,从两个学科的耦合之处探究人们的内在心智活动以及外在行为效应。北京师范大学新闻传播学院教授喻国明和博士生陈雪娇在《传媒观察》2023年第1期刊文,回顾并梳理了近10年认知科学对传播研究的影响,从传播渠道的媒介介质差异,传播对象的人格、内隐...https://www.xhby.net/index/202302/t20230207_7819857.shtml
6.新闻传播学重要人物总结之传播学奠基人霍夫兰Ⅲ传播对象 1、听从性 听从性大的人容易被劝服,决定听从性大小的是对自己的主观评价,自我评价高的人听从性弱,自我评价低的人听从性强。 2、诉诸恐惧(警钟效果) 所谓恐惧诉求,是指在劝服信息中夹杂有威胁性成分,使受众产生惧怕心理,借以达到预期的目的。至于威胁性成分多少和程度如何才是有效的劝服手段存在不同的...https://www.douban.com/note/721961368/
7.人工智能大数据与对外传播的创新发展综合来看,人工智能与大数据的融合创新是相辅相成的,大数据是人工智能的信息来源与发展动力,而人工智能是大数据的解决之道与应用路径。对外传播在全球移动互联网络和国际社交媒体平台的探索与收获,为人工智能与大数据的创新实践提供了可深入优化的传播内容、可丰富化拓展的传播渠道以及可精准化定向的传播对象。 http://www.cahlj.gov.cn/news/newsshow.html?typeid=1148&sid=40183
8.公共关系传播策略研究随着网络、手机、楼宇液晶电视等新兴媒体的出现和发展,传统媒体环境已经发生新的变化,新媒体环境的形成正在对公共关系内涵产生广泛的影响,主要体现在公关传播要素层面的改变:首先,公共关系传播主体、传播对象边界模糊化;其次,传播方式多样化,越来越注重交互性;再次,传播的信息越来越丰富,涉及的内容越来越广泛;最后,传播...https://www.fwsir.com/shangwu/html/shangwu_20190927141858_375043.html
9.深入推进习近平生态文明思想国际传播评论频道着力区分传播对象 推进习近平生态文明思想国际传播,不仅要继续利用国际峰会、国际学术交流等契机加大这一重要思想的传播力度,而且要着眼分众化、差异化、精准化,由“内外有别”走向“外外有别”,针对具体国家、国际机制及国际受众等设置传播议题。其一,根据区域国别开展重点传播。在全球化背景下,面对不同文化背景、不同...https://pinglun.youth.cn/ll/202407/t20240709_15368458.htm
10.新闻报道对象范文6篇(全文)俄国著名戏剧教育家斯坦尼斯拉夫斯基说:“没有对象, 这些话就不可能说得使自己和听的人都相信有实际说出的必要。”民生新闻从诞生伊始, 就定位在说百姓家长里短、道人间喜怒哀乐上, 百姓成为民生新闻的主要受众, 其对象感的存在较为显性。随着社会变化与新闻发展, 民生新闻的传播对象也在发生变化, 显现出以下特征:...https://www.99xueshu.com/w/ikey7aadkkbv.html
11.精英化:大众媒体的传播错位大众传媒把传播对象固定在特定的人群身上,从根本上看是一种传媒的歧视、传播的错位。 由于媒体的倾斜,处于弱势的群体不能够平等享受到信息。而强势人群由于拥有较高的社会地位和良好的教育背景和收入,本来就会比其他人更多地接受信息,这样一来,他们所接受的信息更是远远大于弱势群体,两者之间的鸿沟越来越大。 http://www.wyzxwk.com/e/m/show.php?classid=14&cpage=0&id=218443
12.广告5、商品面向的对象不同形势上有很大的区别 6广告要素编辑 以广告活动的参与者为出发点,广告构成要素有:广告主,广告公司,广告媒体,广告信息,广告思想和技巧,广告受众,广告费用及广告效果。 以大众传播理论为出发点,广告信息传播过程中的广告构成要素主要包括:广告信源、广告信息、广告媒介、广告信宿等要素。 https://baike.sogou.com/v97613.htm
13.2024新闻传播学考研必背考点:新闻传播受众分类(1)核心受众。传播内容和风格针对并满足某些相对比较固定、明确的传播对象。 (2)边缘受众。核心受众群体之外的受众。 以上内容整理于网络,仅供参考! 以上就是学姐为大家整理的【2024新闻传播学考研必背考点:新闻传播受众分类】的全部内容!想了解更多关于考研的相关信息,请关注高顿考研官网查询,祝大家考研成功。 https://www.gaodun.com/kaoyan/1513165.html